/* ==========================================================================
   static/dash/offer_common.css
   Art Argentum — Offer pages only

   Scope:
   - /offer/
   - /offer/<product-slug>/
   - legacy /offer/channel-monitoring/ redirects to /offer/insight-monitor/

   Legal pages use static/dash/legal.css.
   This file must not style About / Contact / Privacy / Terms.
   ========================================================================== */


/* ==========================================================================
   0) SHELL SAFETY / OFFER PAGE CONTRACT
   ========================================================================== */

html,
body{
  width:100% !important;
  overflow-x:hidden !important;
  background:#000 !important;
}

body.public-body.shell-page-body .shell-root{
  height:100dvh !important;
  min-height:100dvh !important;
  overflow:hidden !important;
  background:#000 !important;
}

body.public-body.shell-page-body .shell-root,
body.public-body.shell-page-body .shell-grid-3,
body.public-body.shell-page-body .shell-main{
  max-width:100vw !important;
  overflow-x:hidden !important;
}

body.public-body.shell-page-body .shell-grid-3{
  height:100% !important;
  min-height:100% !important;
  overflow:hidden !important;
}

body.public-body.shell-page-body .shell-main{
  height:100% !important;
  min-height:0 !important;
  box-sizing:border-box !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  scrollbar-gutter:stable both-edges !important;
  -webkit-overflow-scrolling:touch !important;
}

/* Keep the right Functions rail visible on offer pages. */
body.public-body.shell-page-body .shell-root .slug-shell.subsidebar{
  display:flex !important;
}


/* ==========================================================================
   1) TOKENS / BASE RESET
   ========================================================================== */

.offer-root,
.offer2-root{
  --offer-bg:#000;

  --offer-panel:rgba(0,0,0,.72);
  --offer-panel-soft:rgba(0,0,0,.54);
  --offer-panel-faint:rgba(0,0,0,.34);

  --offer-text:rgba(230,230,230,.86);
  --offer-text-strong:rgba(246,246,246,.94);
  --offer-text-soft:rgba(210,210,210,.68);
  --offer-text-muted:rgba(180,180,180,.50);

  --offer-line:rgba(255,255,255,.10);
  --offer-line-soft:rgba(255,255,255,.065);
  --offer-line-faint:rgba(255,255,255,.040);

  --offer-ui-font:var(--ui-font, Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif);
  --offer-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

  --offer-maxw:1180px;
  --offer-maxw-wide:1240px;
  --offer-narrow:980px;
}

.offer-root,
.offer2-root{
  position:relative;
  z-index:1;
  width:100%;
  min-height:0;
  color:var(--offer-text);
  font-family:var(--offer-ui-font) !important;
  font-weight:400 !important;
}

.offer-root *,
.offer-root *::before,
.offer-root *::after,
.offer2-root *,
.offer2-root *::before,
.offer2-root *::after{
  box-sizing:border-box !important;
  border-radius:0 !important;
}

.offer-root a,
.offer-root a:link,
.offer-root a:visited,
.offer-root a:hover,
.offer-root a:active,
.offer2-root a,
.offer2-root a:link,
.offer2-root a:visited,
.offer2-root a:hover,
.offer2-root a:active{
  color:inherit !important;
  text-decoration:none !important;
}

.offer-root ul,
.offer-root li,
.offer2-root ul,
.offer2-root li{
  margin:0;
  padding:0;
  list-style:none;
}

.offer-error{
  width:min(100%, var(--offer-maxw));
  margin:0 auto;
  padding:18px 20px;
  background:rgba(0,0,0,.68);
  color:rgba(255,255,255,.78);
  font-size:13px;
  line-height:1.55;
}


/* ==========================================================================
   2) COMMON OFFER PRIMITIVES
   ========================================================================== */

.offer-tabs,
.offer-tab-panel{
  width:100%;
}

.offer-tab-panel[hidden]{
  display:none !important;
}

.offer-tabs .offer-tabs-nav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}

.offer-tabs .offer-tab-btn{
  appearance:none;
  border:0;
  outline:0;
  cursor:pointer;
  font-family:var(--offer-ui-font);
  border-radius:0 !important;
}

.offer-tabs .offer-tab-panel.is-active{
  display:block;
}

.offer-cta,
.offer2-cta,
.offer3-band-cta,
.offer-choice-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 12px;
  border:0 !important;
  outline:0;
  background:rgba(245,245,245,.94) !important;
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
  font-size:11px;
  line-height:1;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-align:center;
  text-shadow:none !important;
  box-shadow:none !important;
  transition:
    background-color .14s ease,
    color .14s ease,
    opacity .14s ease,
    transform .12s ease;
}

.offer-cta:link,
.offer-cta:visited,
.offer-cta:hover,
.offer-cta:active,
.offer-cta:focus,
.offer2-cta:link,
.offer2-cta:visited,
.offer2-cta:hover,
.offer2-cta:active,
.offer2-cta:focus,
.offer3-band-cta:link,
.offer3-band-cta:visited,
.offer3-band-cta:hover,
.offer3-band-cta:active,
.offer3-band-cta:focus,
.offer-choice-cta:link,
.offer-choice-cta:visited,
.offer-choice-cta:hover,
.offer-choice-cta:active,
.offer-choice-cta:focus{
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
  text-shadow:none !important;
}

.offer-cta:hover,
.offer2-cta:hover,
.offer3-band-cta:hover,
.offer-choice-card:hover .offer-choice-cta{
  background:rgba(255,255,255,.98) !important;
  transform:translateY(-1px);
}

.offer-cta:active,
.offer2-cta:active,
.offer3-band-cta:active{
  transform:translateY(0);
}

.offer-cta.is-disabled,
.offer2-cta.is-disabled,
.offer3-band-cta.is-disabled,
.offer-cta.is-disabled:link,
.offer-cta.is-disabled:visited,
.offer-cta.is-disabled:hover,
.offer-cta.is-disabled:active,
.offer2-cta.is-disabled:link,
.offer2-cta.is-disabled:visited,
.offer2-cta.is-disabled:hover,
.offer2-cta.is-disabled:active,
.offer3-band-cta.is-disabled:link,
.offer3-band-cta.is-disabled:visited,
.offer3-band-cta.is-disabled:hover,
.offer3-band-cta.is-disabled:active{
  background:rgba(255,255,255,.055) !important;
  color:rgba(255,255,255,.48) !important;
  -webkit-text-fill-color:rgba(255,255,255,.48) !important;
  text-shadow:none !important;
  pointer-events:none !important;
}




/* ==========================================================================
   10) MOBILE HOME BUTTON
   ========================================================================== */

.offer-mobile-home{
  display:none;
  width:100%;
  justify-content:center;
  align-items:center;
  padding:0 0 8px;
  margin-top:-6px;
  position:relative;
  z-index:99999;
}

.offer-mobile-home-link{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  color:rgba(255,255,255,.78);
  position:relative;
  z-index:100000;
}

.offer-mobile-home-logo{
  display:block;
  width:56px;
  height:auto;
  object-fit:contain;
  opacity:.90;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.42));
  position:relative;
  z-index:100001;
}

.offer-mobile-home-label{
  display:block;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
  text-align:center;
  position:relative;
  z-index:100001;
}


/* ==========================================================================
   11) ASCII CURSOR REVEAL
   ========================================================================== */

.aa-ascii-target{
  position:relative !important;
  overflow:hidden !important;
  --aa-ascii-x:50%;
  --aa-ascii-y:50%;
  --aa-ascii-radius:220px;
}

.aa-ascii-layer{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  z-index:1 !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
  user-select:none !important;
  white-space:pre !important;
  text-align:left !important;
  font-family:var(--offer-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace) !important;
  font-weight:700 !important;
  font-variant-ligatures:none !important;
  font-feature-settings:"liga" 0, "calt" 0 !important;
  color:rgba(245,245,245,.50) !important;
  text-shadow:
    1px 0 rgba(255,255,255,.07),
    -1px 0 rgba(160,160,160,.05),
    0 0 8px rgba(255,255,255,.04) !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.020), rgba(0,0,0,.12)),
    repeating-linear-gradient(180deg, rgba(255,255,255,.024) 0, rgba(255,255,255,.024) 1px, transparent 1px, transparent 4px) !important;
  background-color:transparent !important;
  mix-blend-mode:screen !important;
  opacity:0 !important;
  transform:none !important;
  filter:none !important;
  animation:none !important;
  -webkit-backface-visibility:hidden !important;
  backface-visibility:hidden !important;
  -webkit-mask-image:radial-gradient(circle var(--aa-ascii-radius) at var(--aa-ascii-x) var(--aa-ascii-y), #000 0%, #000 50%, rgba(0,0,0,.66) 68%, transparent 100%) !important;
  mask-image:radial-gradient(circle var(--aa-ascii-radius) at var(--aa-ascii-x) var(--aa-ascii-y), #000 0%, #000 50%, rgba(0,0,0,.66) 68%, transparent 100%) !important;
  transition:opacity .10s ease-out !important;
  will-change:opacity !important;
}

.aa-ascii-target.is-aa-ascii-hot .aa-ascii-layer,
.offer-choice-card.is-aa-ascii-hot .aa-ascii-layer,
.offer2-monitor-image-wrap.is-aa-ascii-hot .aa-ascii-layer,
.ytmm-row-thumbwrap.is-aa-ascii-hot .aa-ascii-layer{
  opacity:.50 !important;
  animation:none !important;
  transform:none !important;
  filter:none !important;
}

.offer-detail-bg-media.is-aa-ascii-hot .aa-ascii-layer{
  opacity:.82 !important;
  animation:none !important;
  transform:none !important;
  filter:none !important;
}

.aa-ascii-target.is-aa-ascii-hot::selection,
.aa-ascii-layer::selection{
  background:transparent;
}



/* ==========================================================================
   OFFER FUNCTIONS PANEL — local fallback for /offer/ pages
   ========================================================================== */

.offer-functions-panel{
  position:sticky;
  top:0;
  z-index:120;
  width:min(100%, var(--offer-maxw, 1180px));
  margin:0 auto 14px;
  padding:10px 18px;
  display:flex;
  align-items:center;
  gap:10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
    rgba(0,0,0,.82);
  border:1px solid rgba(255,255,255,.085);
  box-shadow:0 14px 30px rgba(0,0,0,.34);
  backdrop-filter:blur(8px) saturate(120%);
  -webkit-backdrop-filter:blur(8px) saturate(120%);
}

.offer-functions-title{
  flex:0 0 auto;
  padding:0 10px 0 0;
  color:rgba(255,255,255,.58);
  font-size:10px;
  line-height:1;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  white-space:nowrap;
}

.offer-functions-nav{
  min-width:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}

.offer-functions-nav--offers{
  flex:1 1 auto;
}

.offer-functions-nav--legal{
  flex:0 1 auto;
  justify-content:flex-end;
}

.offer-fn-link,
.offer-fn-link:link,
.offer-fn-link:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  max-width:100%;
  padding:6px 9px;
  color:rgba(255,255,255,.66) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.050), rgba(255,255,255,.012)),
    rgba(0,0,0,.52);
  border:1px solid rgba(255,255,255,.085);
  font-size:10px;
  line-height:1.05;
  font-weight:500;
  letter-spacing:.055em;
  text-transform:uppercase;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
  text-decoration:none !important;
  box-shadow:none;
}

.offer-fn-link:hover,
.offer-fn-link:focus-visible{
  color:rgba(255,255,255,.96) !important;
  border-color:rgba(255,255,255,.24);
  background:
    linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.030)),
    rgba(0,0,0,.72);
  outline:none;
}

.offer-fn-link.is-active,
.offer-fn-link.is-active:link,
.offer-fn-link.is-active:visited{
  color:#000 !important;
  -webkit-text-fill-color:#000 !important;
  background:linear-gradient(180deg, rgba(235,235,235,.96), rgba(178,178,178,.90));
  border-color:rgba(255,255,255,.18);
}

.offer-fn-link--soft{
  color:rgba(255,255,255,.50) !important;
}

@media (max-width:980px){
  .offer-functions-panel{
    position:relative;
    top:auto;
    width:min(100%, calc(100vw - 24px));
    margin:0 auto 12px;
    padding:10px 12px;
    flex-direction:column;
    align-items:stretch;
  }

  .offer-functions-title{
    padding:0;
  }

  .offer-functions-nav,
  .offer-functions-nav--legal{
    justify-content:flex-start;
  }
}

@media (max-width:560px){
  .offer-functions-panel{
    width:min(100%, calc(100vw - 18px));
    padding:9px;
  }

  .offer-fn-link{
    min-height:25px;
    padding:6px 7px;
    font-size:9px;
  }
}




/* ==========================================================================
   5) OFFER DETAIL — /offer/<slug>/
   ========================================================================== */

.offer-root--detail{
  width:min(100%, var(--offer-maxw));
  margin:0 auto;
  padding:14px 18px 34px;
  position:relative !important;
  isolation:isolate !important;
  z-index:0 !important;
  background:transparent !important;
  overflow:visible !important;
}

.offer-root--detail::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-2 !important;
  pointer-events:none !important;
  background:#000 !important;
}

.offer-root--detail::after{
  display:none !important;
}

.offer-root--detail > .offer-detail-bg-media{
  position:fixed !important;
  inset:0 !important;
  z-index:-1 !important;
  display:block !important;
  width:100vw !important;
  height:100dvh !important;
  overflow:hidden !important;
  pointer-events:none !important;
  background:#000 !important;
  opacity:1 !important;
  visibility:visible !important;
  --aa-ascii-radius:240px;
}

.offer-root--detail > .offer-detail-bg-media > .offer-detail-bg-img{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  opacity:.42 !important;
  visibility:visible !important;
  filter:grayscale(.58) contrast(1.08) brightness(.68) !important;
  transform:scale(1.015) !important;
  pointer-events:none !important;
}

.offer-root--detail > .offer-detail-bg-media > .aa-ascii-layer{
  z-index:1 !important;
  width:100vw !important;
  height:100dvh !important;
}

.offer-root--detail > .offer-detail-bg-media::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.24), rgba(0,0,0,.82)),
    linear-gradient(90deg, rgba(0,0,0,.40), transparent 44%, rgba(0,0,0,.36)) !important;
}

.offer-root--detail > :not(.offer-detail-bg-media),
.offer-root--detail .offer-detail-nav,
.offer-root--detail .offer-detail-hero,
.offer-root--detail .offer-detail-body,
.offer-root--detail .offer-root--offer1,
.offer-root--detail .offer2-root,
.offer-root--detail .offer-root--offer3,
.offer-root--detail .offer1-band,
.offer-root--detail .offer1-sample-wrap,
.offer-root--detail .offer2-hero,
.offer-root--detail .offer2-offer-shell,
.offer-root--detail .offer2-demo-shell,
.offer-root--detail .offer3-band,
.offer-root--detail .offer3-layout,
.offer-root--detail .offer3-data-card{
  position:relative !important;
  z-index:20 !important;
}

.offer-detail-nav{
  position:sticky;
  top:0;
  z-index:80 !important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
  padding:10px 0 12px;
  background:linear-gradient(180deg, rgba(0,0,0,.92), rgba(0,0,0,.66), rgba(0,0,0,0));
}

.offer-detail-back,
.offer-detail-back:link,
.offer-detail-back:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 10px;
  background:rgba(0,0,0,.42);
  color:rgba(255,255,255,.72) !important;
  font-size:11px;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.offer-detail-back:hover{
  color:rgba(255,255,255,.96) !important;
}

.offer-detail-current{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.50);
}

.offer-detail-hero{
  margin:0 0 18px;
  padding:22px 0 18px;
  background:transparent;
  border:0;
  box-shadow:none;
  position:relative;
}

.offer-detail-title{
  margin:0;
  max-width:1080px;
  font-size:clamp(28px, 4.6vw, 58px);
  line-height:.98;
  font-weight:400;
  letter-spacing:.045em;
  text-transform:uppercase;
  color:rgba(246,246,246,.92);
}

.offer-detail-lead{
  margin:14px 0 0;
  max-width:940px;
  font-size:14px;
  line-height:1.58;
  color:rgba(225,225,225,.68);
}

.offer-detail-body{
  width:100%;
  min-width:0;
}




/* ==========================================================================
   SHARED STANDARD OFFER DETAIL STRUCTURE
   ========================================================================== */
.offer-family-card{
  position:relative!important;width:100%!important;padding:18px!important;overflow:hidden!important;
  background:rgba(0,0,0,.68)!important;border:1px solid rgba(255,255,255,.075)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.44)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;
}
.offer-family-chips{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:0 0 18px!important;}
.offer-family-chip{display:inline-flex!important;align-items:center!important;min-height:24px!important;padding:6px 8px!important;border:1px solid rgba(255,255,255,.095)!important;background:rgba(0,0,0,.54)!important;color:rgba(255,255,255,.62)!important;font-size:9px!important;line-height:1!important;font-weight:500!important;letter-spacing:.12em!important;text-transform:uppercase!important;}
.offer-family-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(240px,300px)!important;gap:22px!important;align-items:stretch!important;}
.offer-family-main{min-width:0!important;padding:4px 0!important;}
.offer-family-label,.offer-family-side-label{margin:0 0 8px!important;font-size:9px!important;line-height:1!important;font-weight:500!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:rgba(255,255,255,.38)!important;}
.offer-family-title{margin:0!important;font-size:clamp(24px,3.2vw,40px)!important;line-height:1.02!important;font-weight:400!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:rgba(250,250,250,.94)!important;}
.offer-family-desc{max-width:800px!important;margin:14px 0 0!important;font-size:13px!important;line-height:1.62!important;color:rgba(225,225,225,.66)!important;}
.offer-family-highlights{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 18px!important;margin:20px 0 0!important;}
.offer-family-highlights li,.offer-family-section-list li{position:relative!important;padding:8px 0 8px 14px!important;border-top:1px solid rgba(255,255,255,.06)!important;color:rgba(232,232,232,.72)!important;font-size:12px!important;line-height:1.45!important;}
.offer-family-highlights li::before,.offer-family-section-list li::before{content:"•"!important;position:absolute!important;left:0!important;top:8px!important;color:rgba(255,255,255,.54)!important;}
.offer-family-sections{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:20px 0 0!important;}
.offer-family-section{padding:14px!important;background:rgba(0,0,0,.38)!important;border-top:1px solid rgba(255,255,255,.065)!important;}
.offer-family-section-title{margin:0 0 8px!important;font-size:12px!important;line-height:1.2!important;font-weight:500!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:rgba(255,255,255,.82)!important;}
.offer-family-section-text{margin:0!important;font-size:12px!important;line-height:1.55!important;color:rgba(225,225,225,.62)!important;}
.offer-family-section-list{display:grid!important;gap:2px!important;margin:0!important;}
.offer-family-side{display:flex!important;flex-direction:column!important;min-width:0!important;padding:14px!important;background:rgba(0,0,0,.52)!important;border-left:1px solid rgba(255,255,255,.065)!important;}
.offer-family-side-value{font-size:13px!important;line-height:1.52!important;color:rgba(245,245,245,.80)!important;}
.offer-family-cta,.offer-family-cta:link,.offer-family-cta:visited{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:40px!important;margin-top:auto!important;padding:10px 12px!important;background:rgba(245,245,245,.94)!important;border:0!important;color:#000!important;-webkit-text-fill-color:#000!important;font-size:10px!important;line-height:1!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;text-decoration:none!important;}
.offer-family-cta:hover{background:#fff!important;}
.offer-family-cta.is-disabled{background:rgba(255,255,255,.055)!important;color:rgba(255,255,255,.46)!important;-webkit-text-fill-color:rgba(255,255,255,.46)!important;pointer-events:none!important;}
@media(max-width:980px){.offer-root--detail{padding-left:12px;padding-right:12px;}}
@media(max-width:820px){.offer-detail-hero{padding-top:18px;padding-bottom:16px;}}
@media(max-width:920px){.offer-family-grid{grid-template-columns:1fr!important}.offer-family-side{min-height:150px!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.065)!important;}}
@media(max-width:560px){.offer-detail-nav{align-items:flex-start;flex-direction:column}.offer-detail-current{width:100%}.offer-detail-title{font-size:28px;line-height:1.02}.offer-detail-lead{font-size:13px;line-height:1.55}.offer-family-card{padding:14px!important}.offer-family-highlights,.offer-family-sections{grid-template-columns:1fr!important;}}


/* ==========================================================================
   OFFER DETAIL BACKGROUNDS — SMALLER STATIC/IMG ARTWORK
   Applies only to the large detail-page background layer.
   Does not affect overview cards, chips or Enterprise carousels.
   ========================================================================== */

.offer-root--detail > .offer-detail-bg-media > .offer-detail-bg-img{
  inset:11% !important;
  width:78% !important;
  height:78% !important;
  min-width:0 !important;
  min-height:0 !important;

  object-fit:contain !important;
  object-position:center center !important;

  transform:none !important;
}
