/* Tripelfy Shop: Business-inspired navigation and a brighter Shop palette. */
:root {
  --ink: #18243b;
  --muted: #65738b;
  --paper: #f4f6fb;
  --accent: #5546df;
  --line: #e3e8f2;
  --green: #137c69;
  --radius: 22px;
  --shop-shadow: 0 8px 28px #22325708;
}
body { background: var(--paper); }
.button { min-height:44px; border-radius:12px; padding:12px 20px; gap:10px; transition:background .18s,box-shadow .18s,transform .18s; }
.button:not(.outline):not(.light) { background:linear-gradient(135deg,#6555ed,#4937ca); color:#fff; box-shadow:0 4px 12px #5546df20; }
.button.outline { background:#fff; border-color:#dce3ef; color:#34445f; }
.button.light { background:#eeecff; color:#493ac6; }
.button:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 6px 18px #29395b15; }
.button.outline:hover:not(:disabled) { background:#f7f8ff; border-color:#b5b0ef; }
.button:active:not(:disabled) { transform:translateY(0); }
button:disabled { cursor:default; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid #a39af7; outline-offset:3px; }
input:not([type=checkbox]):not([type=radio]),select,textarea { border-color:#dce3ef; border-radius:12px; color:var(--ink); background:#fff; }
input[type=checkbox],input[type=radio] { accent-color:var(--accent); }
.panel { border-color:var(--line); box-shadow:var(--shop-shadow); }
.tag { border-radius:8px; font-weight:600; background:#eef1f8; color:#51627e; }
.tag.green { background:#e7f6ef; color:#147360; }
.tag.orange { background:#fff1df; color:#956011; }
.eyebrow { color:#6654dc; letter-spacing:1.6px; }
.shop-topline { background:#edf0f8; color:#66728a; height:34px; }
.shop-topline button { min-height:32px; padding:4px 8px; border-radius:7px; }
.shop-topline button:hover { background:#e3e6f3; color:#4937ca; }
.shop-header { background:#ffffffed; padding-inline:3.5%; gap:20px; }
.shop-header .brand strong { letter-spacing:-.8px; }
.shop-header .brand strong span { color:#77839a; }
#global-search { background:#f4f6fb; border-color:#e1e6f0; border-radius:14px; }
#global-search button { border-radius:10px; background:linear-gradient(135deg,#6655ed,#4937ca); }
.shop-categories { padding-inline:3.5%; gap:10px; height:58px; }
.shop-categories button,.shop-categories [data-builder-link] { min-height:38px; padding:9px 14px; border-radius:10px; color:#53627c; }
.shop-categories button:hover,.shop-categories [data-builder-link]:hover { background:#f0edff; color:#4b3ac9; text-decoration:none; }
.shop-categories .category-birthday { background:#fff3e8; color:#a45a1e; }
body:has(.merchant-portal) .shop-categories { display:none; }
body:has(.merchant-portal) .shop-topline { display:none; }
body:has(.merchant-portal) .shop-header { height:76px; border-bottom-color:#e1e6f0; }
body:has(.merchant-portal) footer { margin-top:40px; }
.merchant-portal { max-width:1600px; grid-template-columns:264px minmax(0,1fr); gap:30px; padding:0 28px; margin:28px auto 60px; align-items:start; }
.merchant-nav { background:linear-gradient(165deg,#1c2940 0%,#151e31 100%); color:#d4dced; border:1px solid #2b3750; border-radius:24px; padding:24px 16px 16px; box-shadow:0 14px 35px #15213b16; position:sticky; top:24px; max-height:calc(100dvh - 48px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:#485571 transparent; }
.merchant-back { display:flex; align-items:center; gap:12px; font-size:17px; font-weight:700; color:#fff; margin:0 8px 26px; }
.merchant-back .evently-logo { width:38px; height:38px; border-radius:12px; }
.merchant-nav>.eyebrow { display:block; color:#92a1bb; font-size:10px; margin:0 12px; letter-spacing:1.6px; }
.merchant-nav>strong { margin:9px 12px 20px; font-size:16px; color:#f3f5ff; overflow-wrap:anywhere; }
.merchant-nav nav { display:grid; gap:0; }
.merchant-nav .merchant-nav-group { display:grid; gap:4px; padding:12px 0; border-top:1px solid #ffffff0c; }
.merchant-nav .merchant-nav-group:first-child { padding-top:0; border-top:0; }
.merchant-nav nav button { display:flex; align-items:center; gap:12px; width:100%; min-height:46px; padding:11px 14px; border-radius:11px; color:#bfcbe0; font-size:13px; font-weight:500; text-align:left; transition:background .18s,color .18s; }
.merchant-nav nav button>span { display:flex; width:20px; height:20px; flex:none; }
.merchant-menu-icon { width:20px; height:20px; }
.merchant-nav nav button:hover { background:#ffffff09; color:#fff; }
.merchant-nav nav button[aria-current=page] { background:linear-gradient(100deg,#6555ed2e,#7566f414); color:#e0dcff; font-weight:650; box-shadow:inset 3px 0 #a99aff; }
.merchant-nav nav button[aria-current=page] .merchant-menu-icon { color:#b6aaff; }
.merchant-nav>button { margin-top:12px; border-top:1px solid #ffffff12; border-radius:10px; color:#aebbd2; min-height:44px; padding:14px; font-size:12px; }
.merchant-nav>button:hover { background:#ffffff09; color:#fff; }
.merchant-heading { height:auto; min-height:106px; padding:22px 28px; background:#fff; border:1px solid var(--line); border-radius:22px; box-shadow:var(--shop-shadow); margin-bottom:24px; gap:16px; }
.merchant-heading h1 { font-size:30px; letter-spacing:-1px; line-height:1.2; margin:9px 0 0; }
.merchant-heading .eyebrow { font-size:10px; }
.merchant-heading .tag { flex-shrink:0; padding:8px 12px; }
.merchant-work .panel { border-radius:20px; padding:26px; }
.merchant-work h2 { font-size:21px; letter-spacing:-.5px; }
.merchant-work h3 { font-size:17px; letter-spacing:-.3px; }
.merchant-work label { color:#52617b; font-size:13px; font-weight:550; }
.merchant-work input,.merchant-work select,.merchant-work textarea { padding:12px 14px; font-size:14px; }
.merchant-work input[type=checkbox],.merchant-work input[type=radio] { padding:0; }
.merchant-work .button { font-size:13px; }
.portal-metrics { gap:16px; }
.portal-metrics>div { padding:24px; border:1px solid var(--line); border-radius:20px; box-shadow:var(--shop-shadow); position:relative; overflow:hidden; }
.portal-metrics>div::before { content:''; display:block; width:28px; height:4px; border-radius:4px; background:#7664ee; margin-bottom:16px; }
.portal-metrics>div:nth-child(2)::before { background:#25a18c; }
.portal-metrics>div:nth-child(3)::before { background:#eda14d; }
.portal-metrics>div:nth-child(4)::before { background:#99a6be; }
.portal-metrics small { color:#6c7890; }
.portal-metrics strong { font-size:36px; letter-spacing:-1.3px; color:#233149; }
.portal-checklist button { border-radius:12px; padding:14px 12px; color:#51617a; }
.portal-checklist button:hover { background:#f6f5ff; }
.portal-checklist button>span.done { color:#178570; background:#e7f6ef; }
.portal-quality { background:#f8f9fd; padding:18px; border-radius:14px; }
.portal-preview-notice { background:#fff7eb; border-color:#f3e4cc; border-radius:16px; }
.portal-alert { border-radius:14px; background:#edf6f2; border:1px solid #d5ebe0; padding:16px 20px; }
.source-upload { cursor:pointer; width:fit-content; margin-top:18px; }
.source-upload:has(input:disabled) { opacity:.5; cursor:default; }
.source-upload:focus-within { outline:3px solid #a39af7; outline-offset:3px; }
.merchant-work table th { background:#f7f8fc; color:#6b7890; font-size:11px; letter-spacing:.3px; }
.merchant-work table td { border-bottom-color:#edf0f6; }
.merchant-work table tbody tr:hover { background:#fafbff; }
.onboarding-hero { background:linear-gradient(120deg,#eeebff,#f2f8ff 65%,#fff6ec); border-color:#e0def6; border-radius:22px; }
.onboarding-number { color:#5946d3; background:#eeebff; border-radius:12px; }
.onboarding-progress progress { accent-color:var(--accent); }
.onboarding-method { border-color:#e0e5f1; border-radius:16px; }
.onboarding-method:hover:not(:disabled) { background:#f7f6ff; border-color:#9e92e9; }
.onboarding-method b { color:#5946d3; }
.import-mapping { background:#f8f7ff; border-color:#e1ddfa; border-radius:18px; }
.merchant-directory { padding:44px 28px; }
.merchant-directory>h1 { font-size:clamp(32px,3.5vw,46px); letter-spacing:-1.7px; margin:8px 0 14px; }
.merchant-directory>.subtle { font-size:16px; margin-bottom:28px; max-width:700px; }
.merchant-filters { padding:22px 24px; border-radius:18px; margin-bottom:26px; }
.merchant-directory h2 { font-size:22px; margin-top:28px; }
.merchant-card { padding:28px; gap:28px; border-radius:22px; border-top:3px solid #c5bdf8; transition:border-color .18s,box-shadow .18s; }
.merchant-card:hover { border-top-color:#7e6ce7; box-shadow:0 12px 30px #2634510d; }
.merchant-card h3 { margin:16px 0 8px; font-size:23px; letter-spacing:-.6px; }
.merchant-card p { color:#65738b; font-size:14px; }
.merchant-card>div:last-child { border-left:1px solid var(--line); padding-left:24px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.merchant-card>div:last-child>strong { font-size:12px; color:#68768e; }
.merchant-card .button { margin-top:10px; }
.merchant-destinations .tag { background:#f0edff; color:#5948bc; padding:7px 10px; }
.merchant-detail { margin:36px auto; padding:40px; max-width:960px; border-radius:26px; border-top:4px solid #b6a9fa; }
.merchant-detail h1 { max-width:none; font-size:clamp(32px,4vw,46px); letter-spacing:-1.6px; margin:22px 0 16px; }
.merchant-detail h2 { font-size:22px; margin:30px 0 20px; }
.merchant-description { color:#63718a; max-width:750px; line-height:1.8; }
.merchant-facts { grid-template-columns:160px minmax(0,1fr); padding:22px 24px; background:#f7f8fd; border:1px solid #e9edf5; border-radius:16px; gap:18px 24px; font-size:14px; }
.merchant-facts dt { color:#69758d; font-weight:500; }
.merchant-facts dd { color:#25344f; font-weight:550; }
.merchant-facts a { color:#5242c3; text-underline-offset:4px; }
main:has(.merchant-detail)>button { margin:24px 28px 0; }
.shop-product { border-radius:20px; border-color:var(--line); box-shadow:0 4px 16px #22325705; }
.shop-product .product-image { background:linear-gradient(145deg,#f0f2f9,#f8f9fd); }
.catalog-filters { border-radius:18px; border-color:var(--line); }
@media(min-width:1600px) { .merchant-portal { gap:36px; } }
@media(max-width:1100px) { .merchant-portal { grid-template-columns:232px minmax(0,1fr); gap:22px; padding:0 22px; } .merchant-nav { padding:22px 12px 14px; } .merchant-heading { padding:20px 24px; } }
@media(max-width:700px) {
  .shop-topline { height:auto; min-height:34px; padding:4px 14px; }
  .shop-topline>span { display:none; }
  .shop-topline>div { justify-content:space-between; width:100%; gap:4px; }
  .shop-header,body:has(.merchant-portal) .shop-header { height:auto; padding:16px; gap:12px; }
  .shop-header .brand strong { font-size:20px; }
  .shop-categories { height:52px; padding-inline:12px; gap:4px; }
  .shop-categories button { padding:8px 10px; }
  .merchant-portal { grid-template-columns:minmax(0,1fr); padding:0 14px; margin-top:16px; gap:16px; }
  .merchant-nav { position:static; top:auto; max-height:none; padding:18px 12px 12px; border-radius:20px; }
  .merchant-back { margin:0 8px 18px; }
  .merchant-nav>strong { margin-bottom:16px; }
  .merchant-nav nav { display:flex; overflow-x:auto; gap:10px; padding-bottom:6px; }
  .merchant-nav .merchant-nav-group { display:flex; flex:none; gap:4px; border:0; padding:0; }
  .merchant-nav .merchant-nav-group+.merchant-nav-group { border-left:1px solid #ffffff18; padding-left:10px; }
  .merchant-nav nav button { width:auto; flex:none; white-space:nowrap; padding:10px 12px; min-height:44px; }
  .merchant-nav>button { margin-top:6px; padding:10px 12px; }
  .merchant-heading { min-height:94px; padding:18px; border-radius:18px; flex-wrap:wrap; }
  .merchant-heading h1 { font-size:26px; }
  .merchant-work .panel { padding:20px; border-radius:18px; }
  .portal-metrics { gap:10px; }
  .portal-metrics>div { padding:18px; border-radius:16px; }
  .portal-metrics strong { font-size:30px; }
  .merchant-directory { padding:28px 16px; }
  .merchant-filters { padding:20px; }
  .merchant-card { padding:22px; gap:16px; }
  .merchant-card>div:last-child { padding:18px 0 0; border-left:0; border-top:1px solid var(--line); }
  .merchant-detail { margin:20px 14px; padding:24px; border-radius:20px; }
  .merchant-detail h1 { font-size:32px; overflow-wrap:anywhere; }
  .merchant-facts { grid-template-columns:1fr; padding:18px; gap:8px; }
  .merchant-facts dd { margin-bottom:12px; }
  main:has(.merchant-detail)>button { margin:18px 14px 0; }
}
@media(prefers-reduced-motion:reduce) { .button,.merchant-nav nav button,.merchant-card { transition:none; } .button:hover:not(:disabled) { transform:none; } }
/* The compact menu follows the Business portal's expandable mobile menu. */
.merchant-nav>.merchant-menu-toggle { display:none; }
@media(max-width:700px) {
  .merchant-nav>.merchant-menu-toggle { display:flex; align-items:center; gap:12px; width:100%; margin:0; padding:12px 14px; color:#e1dfff; background:#6555ed24; border:1px solid #9d90ee33; border-radius:12px; font-size:13px; }
  .merchant-menu-chevron { margin-left:auto; transition:transform .18s; }
  .mobile-menu-open .merchant-menu-chevron { transform:rotate(180deg); }
  .merchant-nav nav { display:none; }
  .mobile-menu-open .merchant-nav nav { display:grid; overflow:visible; margin-top:16px; }
  .mobile-menu-open .merchant-nav .merchant-nav-group { display:grid; gap:4px; padding:12px 0; border:0; border-top:1px solid #ffffff12; }
  .mobile-menu-open .merchant-nav .merchant-nav-group:first-child { border-top:0; padding-top:0; }
  .mobile-menu-open .merchant-nav nav button { width:100%; white-space:normal; }
  .mobile-menu-open .merchant-nav { max-height:75dvh; overflow-y:auto; }
  .merchant-nav>#portal-exit { display:none; }
  .mobile-menu-open .merchant-nav>#portal-exit { display:block; }
}
/* Public storefront and signed-in account navigation. */
#header-account { position:relative; flex:none; z-index:40; }
.account-dropdown>summary { display:flex; align-items:center; gap:12px; cursor:pointer; padding:7px 11px 7px 7px; border:1px solid #e3e7f1; border-radius:16px; background:#fff; list-style:none; min-height:52px; max-width:290px; }
.account-dropdown>summary::-webkit-details-marker { display:none; }
.account-dropdown[open]>summary { border-color:#b9aff4; background:#f8f7ff; box-shadow:0 0 0 3px #6555ed0b; }
.account-avatar { width:38px; height:38px; border-radius:12px; background:linear-gradient(145deg,#6555ed,#9980ef); color:#fff; font-size:13px; font-weight:750; display:grid; place-items:center; flex:none; overflow:hidden; }
.account-avatar img { width:100%; height:100%; object-fit:cover; }
.account-greeting { display:grid; gap:1px; min-width:0; }
.account-greeting small { color:#7a8499; font-size:10px; }
.account-greeting strong { font-size:13px; font-weight:650; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.account-chevron { color:#7e88a1; margin-left:6px; }
.account-popover { position:absolute; right:0; top:calc(100% + 12px); width:280px; max-width:calc(100vw - 28px); padding:10px; border:1px solid #e2e6f1; border-radius:20px; box-shadow:0 20px 65px #1b284326; background:#fff; }
.account-popover-heading { display:grid; padding:14px 14px 18px; gap:5px; border-bottom:1px solid #edf0f6; margin-bottom:8px; overflow-wrap:anywhere; }
.account-popover-heading strong { font-size:14px; }
.account-popover-heading small { font-size:11px; color:#8791a6; }
.account-popover nav { display:grid; gap:3px; }
.account-popover nav button { min-height:44px; padding:12px 14px; text-align:left; border-radius:10px; color:#53627e; font-size:13px; font-weight:500; }
.account-popover nav button:hover { background:#f2efff; color:#5441ca; }
.account-popover nav .account-logout { margin-top:6px; border-top:1px solid #edf0f6; color:#b64e57; }
.account-popover nav .account-logout:hover { background:#fff0f1; }
.home-wrap { max-width:1600px; grid-template-columns:264px minmax(0,1fr); gap:30px; margin:30px auto 70px; }
.home-categories { background:linear-gradient(160deg,#1c2940,#151e31); border:1px solid #2b3750; border-radius:24px; padding:22px 18px; box-shadow:0 12px 34px #1b274416; color:#edf1fa; }
.home-categories h2 { color:#f7f8ff; font-size:17px; margin:3px 10px 20px; letter-spacing:-.3px; }
.home-category { padding:13px 8px; border-bottom-color:#ffffff10; }
.home-category button { color:#a8b7d1; }
.home-category-title { color:#dce4f4!important; font-size:13px; font-weight:600; align-items:center; gap:10px; min-height:36px; }
.home-category-title span:first-child { display:grid; place-items:center; width:28px; height:28px; border-radius:8px; background:#ffffff09; flex:none; }
.home-category div { padding-left:38px; color:#62738f; line-height:1.9; }
.home-category div button { font-size:10px; }
.home-category button:hover { color:#c5baff!important; }
.home-gift { color:#d4c9ff; background:#7260e625; padding:14px 12px; border:1px solid #9d8ceb24; border-radius:12px; font-size:12px; }
.home-categories>.button { background:#ffffff0a; border-color:#ffffff18; color:#d3ddf1; }
.home-market { gap:12px; margin-bottom:18px; }
.home-market label { font-size:11px; color:#76829a; }
.home-market select { min-height:42px; padding:9px 13px; }
.home-campaign { padding:44px; min-height:360px; border:1px solid #ddd8f4; border-radius:26px; background:radial-gradient(ellipse at 85% 15%,#fbeee0 0%,transparent 48%),linear-gradient(125deg,#eae5ff,#f3f5ff); gap:24px; position:relative; }
.home-campaign h1 { font-size:clamp(36px,3.3vw,54px); letter-spacing:-2px; color:#1e2940; }
.home-campaign h1 em { color:#6552da; }
.home-campaign p { color:#6b7390; font-size:15px; line-height:1.8; }
.home-campaign .button { margin-top:8px; }
.campaign-pictures img { border-radius:24px; box-shadow:0 12px 32px #68518413; }
.campaign-pictures span { color:#7a7890; border:1px solid #ffffffb8; background:#ffffffc9; border-radius:16px; box-shadow:0 8px 20px #49397a08; }
.campaign-pictures span strong { color:#4a4267; }
.home-quick { gap:16px; margin:20px 0 36px; }
.home-quick button { border-color:var(--line); border-radius:18px; padding:22px; box-shadow:var(--shop-shadow); gap:6px 14px; grid-template-columns:38px 1fr; transition:border-color .18s,transform .18s; }
.home-quick button:hover { transform:translateY(-2px); border-color:#c7bdf1; }
.home-quick button>span { display:grid; place-items:center; background:#f0ecff; border-radius:12px; width:38px; height:44px; font-size:21px; color:#6651cf; }
.home-quick button:nth-child(2)>span { background:#e8f5ef; }
.home-quick button:nth-child(3)>span { background:#fff0de; color:#b4792c; }
.home-quick strong { font-size:14px; color:#344158; }
.home-quick small { color:#7a859b; font-size:11px; }
.home-section-head h2 { font-size:27px; letter-spacing:-.8px; }
.home-product-grid { gap:18px; }
.shop-product { transition:box-shadow .18s,border-color .18s,transform .18s; }
.shop-product:hover { border-color:#cec6ef; box-shadow:0 12px 28px #1e2e4b10; transform:translateY(-2px); }
.shop-product .product-body h3 { color:#28364d; font-weight:650; line-height:1.5; }
.shop-product .product-description { color:#7c879a; }
.shop-product .price { color:#29344c; }
.shop-product .product-actions { gap:8px; }
.shop-product .product-actions .button { border-radius:10px; }
.home-how { background:#fff; border:1px solid var(--line); border-radius:22px; padding:28px; box-shadow:var(--shop-shadow); margin-top:34px; gap:28px; }
.home-how span { background:#efebff; color:#6f5ccf; border-radius:8px; padding:5px 9px; display:inline-block; }
.home-how h3 { font-size:17px; margin-top:14px; }
.home-how p { color:#748097; }
.storefront-catalog { max-width:1600px; padding:32px 28px 60px; }
.catalog-heading h2 { font-size:30px; letter-spacing:-.9px; }
.catalog-shell { gap:26px; }
.catalog-filters { background:#fff; border:1px solid var(--line); border-radius:20px; padding:24px; box-shadow:var(--shop-shadow); }
.catalog-filters h3 { color:#34445d; font-size:17px; }
.catalog-filters label { color:#6b7890; font-size:12px; }
.catalog-filters input,.catalog-filters select { min-height:44px; font-size:13px; }
.catalog-source-tabs { background:#eaeef6; border-radius:12px; padding:5px; width:fit-content; }
.catalog-source-tabs button { border:0; background:transparent; border-radius:9px; padding:10px 14px; font-size:12px; }
.catalog-source-tabs button[aria-pressed=true] { background:#fff; color:#5846d2; box-shadow:0 2px 8px #1e2e4b0c; }
.catalog-toolbar { padding:4px 0 20px; color:#7d889b; }
.layout-controls button[aria-pressed=true] { background:#efebff; color:#6550d5; border-color:#d4cbf9; }
.applied-filters .chip { background:#f0edff; color:#6550c5; border:1px solid #e0dafa; border-radius:9px; }
.budget-shortcuts button { border-radius:8px; background:#f1effb; color:#7765bb; }
.category-directory { max-width:1440px; }
.category-directory h1 { font-size:clamp(34px,4vw,48px); letter-spacing:-1.6px; }
.category-directory-grid { gap:22px; }
.category-group { padding:24px; border-radius:20px; border-color:var(--line); box-shadow:var(--shop-shadow); }
.category-group-title>span:first-child { width:42px; height:42px; border-radius:12px; background:#efebff; }
.category-group-title h2 { font-size:18px; color:#2d3b53; }
.category-group>div>button { padding:12px 8px; border-top-color:#edf0f6; border-radius:7px; font-size:13px; }
.category-group>div>button:hover { background:#f8f6ff; }
.detail-wrap { max-width:1440px; padding:32px 28px 70px; }
.detail-breadcrumb { color:#7f8aa0; gap:10px; }
.detail-top { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:42px; margin:26px 0 32px; padding:32px; background:#fff; border:1px solid var(--line); border-radius:26px; box-shadow:var(--shop-shadow); }
.detail-gallery { min-height:340px; background:radial-gradient(ellipse at top,#f0ecff,#f6f8fc); border:1px solid #ececf6; border-radius:20px; padding:24px; }
.detail-gallery>img { height:300px; }
.detail-summary { min-width:0; padding:12px 0; }
.detail-summary h1 { font-size:clamp(26px,2.5vw,36px); letter-spacing:-1.1px; line-height:1.3; }
.detail-summary .lede { font-size:15px; color:#718098; line-height:1.8; }
.detail-price { color:#5844cc; font-size:38px; letter-spacing:-1px; }
.detail-best { background:#f7f6fd; border:1px solid #e8e4f8; border-radius:16px; padding:18px; }
.detail-tabs { background:#e9edf5; border:0; padding:5px; border-radius:14px; width:fit-content; gap:4px; }
.detail-tabs button { padding:12px 18px; border-radius:10px; color:#728097; min-height:44px; }
.detail-tabs button[aria-selected=true],.detail-tabs button.active { background:#fff; color:#5744ce; box-shadow:0 2px 8px #2534500c; }
.detail-panel { border:1px solid var(--line); border-radius:22px; box-shadow:var(--shop-shadow); padding:28px; margin-top:22px; }
.detail-panel h2 { color:#31415b; font-size:23px; }
.detail-panel .offer-row { background:#f9fafd; border:1px solid #e5e9f3; border-radius:16px; padding:20px; margin-top:14px; }
.offer-merchant h3 { color:#34455f; }
.history-stats>div { border-radius:14px; background:#f7f6fe; border-color:#e5e0f5; padding:18px; }
.history-period { background:#edeaf9; border-radius:10px; padding:4px; }
.history-period button { border:0; border-radius:7px; color:#7a6b9d; padding:8px 12px; }
.history-period button[aria-pressed=true] { background:#fff; color:#5c48cc; }
.product-facts { border-radius:14px; overflow:hidden; }
.sample-notice { border-radius:14px; border-color:#e3ddee; background:#f6f3fc; }
.hero-art { background:linear-gradient(135deg,#eeebff,#fff5e7); border-color:#e3ddf7; }
.customer-entry { background:#fff; border:1px solid var(--line); border-radius:24px; padding:36px; box-shadow:var(--shop-shadow); }
footer { background:#fff; border-top:1px solid var(--line); color:#7b879c; }
@media(max-width:1100px) {
 .home-wrap { grid-template-columns:232px minmax(0,1fr); padding:0 22px; gap:22px; }
 .home-campaign { padding:30px; grid-template-columns:1fr 1fr; gap:16px; }
 .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-quick button { padding:16px; gap:8px; grid-template-columns:1fr; }
 .home-quick button>span { grid-row:auto; margin-bottom:5px; }
 .account-greeting { max-width:150px; }
 .detail-top { gap:28px; padding:24px; }
}
@media(max-width:700px) {
 .shop-header:has(#header-account:not([hidden])) { grid-template-columns:minmax(0,1fr) auto; }
 #header-account { grid-column:2; grid-row:1; }
 .account-dropdown>summary { padding:5px; min-height:44px; border-radius:13px; }
 .account-avatar { width:32px; height:32px; border-radius:10px; font-size:11px; }
 .account-greeting { max-width:105px; }
 .account-greeting small { font-size:9px; }
 .account-greeting strong { font-size:11px; }
 .account-chevron { margin:0 3px; }
 .home-wrap { display:block; margin:20px auto 40px; padding:0 16px; }
 .home-categories { display:none; }
 .home-market { gap:10px; justify-content:stretch; margin-bottom:16px; }
 .home-market label { flex:1; min-width:0; }
 .home-market select { min-width:0; width:100%; }
 .home-campaign { grid-template-columns:1fr; padding:28px; min-height:0; border-radius:22px; }
 .home-campaign h1 { font-size:37px; letter-spacing:-1.4px; }
 .campaign-pictures { display:none; }
 .home-quick { gap:10px; grid-template-columns:1fr; margin:16px 0 28px; }
 .home-quick button { display:grid; grid-template-columns:38px 1fr; padding:18px; gap:5px 14px; }
 .home-quick button>span { grid-row:span 2; margin:0; }
 .home-section-head { align-items:flex-start; gap:14px; flex-wrap:wrap; }
 .home-section-head h2 { font-size:25px; }
 .home-product-grid { gap:12px; }
 .home-product-grid .product-body { padding:14px; }
 .home-product-grid .product-actions .button { font-size:11px; padding:9px 10px; }
 .home-how { grid-template-columns:1fr; padding:24px; gap:22px; }
 .storefront-catalog { padding:24px 16px 40px; }
 .catalog-shell { gap:18px; }
 .catalog-filters { padding:18px; }
 .catalog-heading h2 { font-size:26px; }
 .catalog-source-tabs { width:100%; }
 .catalog-source-tabs button { padding:8px 10px; font-size:11px; }
 .category-directory { padding:24px 16px; }
 .category-group { padding:22px; }
 .detail-wrap { padding:22px 16px 45px; }
 .detail-top { grid-template-columns:1fr; padding:20px; gap:20px; border-radius:22px; }
 .detail-gallery { min-height:230px; padding:20px; }
 .detail-gallery>img { height:210px; }
 .detail-summary h1 { font-size:27px; }
 .detail-price { font-size:32px; }
 .detail-tabs { width:100%; flex-wrap:wrap; }
 .detail-tabs button { padding:10px 12px; font-size:12px; }
 .detail-panel { padding:20px; }
 .detail-panel .section-head { flex-wrap:wrap; gap:12px; }
 .detail-panel .offer-row { padding:18px; }
 .customer-entry { margin:24px 16px; padding:26px; }
}
@media(prefers-reduced-motion:reduce) { .shop-product,.home-quick button,.account-chevron { transition:none; } .shop-product:hover,.home-quick button:hover { transform:none; } }

/* Merchant traffic and team controls */
.insights-periods{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.merchant-click-chart{display:block;width:100%;height:auto;min-height:180px;margin:20px 0}.insights-range{font-size:clamp(16px,2vw,23px)!important}.insights-table{overflow:auto;max-height:360px}.insights-table table{width:100%;border-collapse:collapse}.insights-table th,.insights-table td{padding:10px;text-align:start;border-bottom:1px solid #e2e8f0}.team-member-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:18px 0;border-bottom:1px solid #e2e8f0}.team-member-row>strong{min-width:150px;overflow-wrap:anywhere}.team-member-row label{max-width:320px}.team-member-row select{min-width:150px}@media(max-width:600px){.team-member-row{align-items:stretch;flex-direction:column}.team-member-row label{max-width:100%}.insights-periods .button{flex:1 0 28%;padding:10px 8px}.merchant-click-chart{min-height:0}}
