/* Cannabiz Experience 2026 visual system: original green redesign */
:root {
  --ce-green: #2f6b3f;
  --ce-green-dark: #174326;
  --ce-green-light: #e8f1e8;
  --ce-green-mid: #7fae70;
  --ce-ink: #1e2a21;
  --ce-muted: #637066;
  --ce-surface: #c5c9c5;
  --ce-bg: #c5c9c5;
  --ce-border: #d9e2d8;
  --ce-radius: 18px;
  --ce-shadow: 0 12px 30px rgba(23,67,38,.12);
}
body { background: var(--ce-bg) !important; color: var(--ce-ink); }
#main { background: var(--ce-surface) !important; }
#sidebar { background: var(--ce-surface) !important; border-right: 1px solid var(--ce-border); }
a { color: var(--ce-green); }
a:hover { color: var(--ce-green-dark); }
hr, header.major > :last-child { border-color: var(--ce-green) !important; }
#sidebar > .inner > #menu > ul > li > a,
#sidebar .sidebarBodyFont, #sidebar .sidebarBodyFontMobile { color: var(--ce-ink) !important; }
#sidebar #menu > ul > li > a:hover { color: var(--ce-green) !important; background: var(--ce-green-light); }
.image img { border-radius: 10px; }
#main > .inner { padding-top: 2rem; }
.logo img { max-width: 100%; height: auto; }

/* Normalize existing inline Target-era accent color without deleting content */
hr[color="#f56a6a"] { color: var(--ce-green) !important; background: var(--ce-green) !important; }

/* Age gate */
#ce-age-gate { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 1rem; }
.ce-age-backdrop { position:absolute; inset:0; background:rgba(15,30,19,.88); backdrop-filter:blur(5px); }
.ce-age-card { position:relative; width:min(520px,100%); background:#fff; border:1px solid var(--ce-border); border-radius:24px; box-shadow:0 24px 80px rgba(0,0,0,.35); padding:2rem; text-align:center; }
.ce-age-logo { width:min(360px,100%); height:auto; margin:0 auto 1rem; }
.ce-age-leaf { width:48px; height:48px; margin:0 auto 1rem; display:grid; place-items:center; border-radius:50%; background:var(--ce-green-light); color:var(--ce-green); font-size:0; }
.ce-age-leaf:before { content:'✦'; font-size:1.4rem; }
.ce-age-card h1 { margin:.25rem 0 .75rem; color:var(--ce-green-dark); font-size:clamp(1.6rem,5vw,2.3rem); }
.ce-age-card p { color:var(--ce-muted); }
.ce-age-actions { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; margin-top:1.5rem; }
.ce-age-actions button { min-height:52px; border-radius:999px; border:1px solid var(--ce-green); font-weight:700; cursor:pointer; }
.ce-age-yes { background:var(--ce-green); color:#fff; }
.ce-age-no { background:#fff; color:var(--ce-green-dark); }
.ce-age-actions button:hover, .ce-age-actions button:focus-visible { transform:translateY(-1px); box-shadow:0 8px 18px rgba(23,67,38,.18); outline:3px solid rgba(127,174,112,.35); outline-offset:2px; }

@media (max-width: 767px) {
  #main > .inner { padding: 1rem; }
  #sidebar { border-right:0; border-top:1px solid var(--ce-border); }
  .ce-age-card { padding:1.5rem 1rem; }
  .ce-age-actions { grid-template-columns:1fr; }
  .ce-age-actions button { width:100%; }
  .mobileHide { display:none !important; }
}


/* Phase 2: shared page shell and content presentation */
body { line-height: 1.6; }
#main > .inner { max-width: 1440px; margin: 0 auto; }
#main > .inner > .logo, #main > .inner > span.image.object.logo {
  display:block; background:linear-gradient(135deg,#fff,#eef5ed);
  border:1px solid var(--ce-border); border-radius:var(--ce-radius);
  padding:1rem; margin-bottom:1.25rem; box-shadow:var(--ce-shadow);
}
#main section, #main .cusinfoform, #main .content {
  border-radius:var(--ce-radius);
}
#main .cusinfoform {
  gap:1.25rem; align-items:start;
}
#main .cusinfoform > div {
  background:var(--ce-surface); border:1px solid var(--ce-border);
  border-radius:var(--ce-radius); padding:1.25rem; box-shadow:0 8px 24px rgba(23,67,38,.07);
}
#main iframe { max-width:100%; border-radius:12px; }
#main .actions a.button2, #main a.button2 {
  background:var(--ce-green) !important; border-color:var(--ce-green) !important;
  color:#fff !important; border-radius:999px; padding:.35rem 1.2rem;
  box-shadow:0 8px 18px rgba(23,67,38,.16);
}
#main .actions a.button2:hover { background:var(--ce-green-dark) !important; }
#sidebar > .inner { padding-top:1rem; }
#sidebar .image img { border-radius:0; }
#sidebar .inner > * { border-color:var(--ce-border) !important; }
#menu > ul > li > a { border-radius:10px; margin:.15rem .5rem; padding:.65rem .75rem !important; }
#menu > ul > li > a:before { color:var(--ce-green) !important; }
header.major > :last-child { padding-bottom:.5rem; }

/* Content cards for existing article/feature blocks */
#main article, #main .posts article, #main .features article {
  border-radius:14px;
}
#main .posts article { background:#fff; border:1px solid var(--ce-border); padding:1rem; box-shadow:0 8px 24px rgba(23,67,38,.06); }

/* Mobile and desktop now share the same visual grammar */
@media (max-width: 767px) {
  #main > .inner { padding: .75rem; }
  #main > .inner > .logo, #main > .inner > span.image.object.logo { padding:.65rem; border-radius:14px; }
  #main .cusinfoform { display:grid !important; grid-template-columns:1fr !important; }
  #main .cusinfoform > div { padding:1rem; }
  #main iframe { width:100% !important; margin-left:0 !important; }
  #main .actions a.button2 { display:flex; justify-content:center; align-items:center; min-height:48px; }
  #sidebar { background:var(--ce-surface) !important; }
}


/* Phase 3: page-pair normalization */
body[data-ce-page] #main > .inner > * { box-sizing:border-box; }
body[data-ce-page] #main section { margin-bottom:1.25rem; }
body[data-ce-page] #main section > section,
body[data-ce-page] #main section > article { background:#fff; border:1px solid var(--ce-border); border-radius:var(--ce-radius); padding:1rem; }
body[data-ce-page="maryscorner"] #main .image,
body[data-ce-page="newSales"] #main .image,
body[data-ce-page="420sales"] #main .image,
body[data-ce-page="CornholyO"] #main .image { overflow:hidden; border-radius:14px; background:#fff; border:1px solid var(--ce-border); }
body[data-ce-page] #main img { max-width:100%; height:auto; }
body[data-ce-page="termsofservice"] #main section { background:#fff; border:1px solid var(--ce-border); padding:1rem; }
body[data-ce-page="newsletter"] #main form,
body[data-ce-page="about"] #main article { background:#fff; border:1px solid var(--ce-border); border-radius:var(--ce-radius); padding:1.25rem; }
@media (min-width:768px) {
  body[data-ce-device="desktop"] #main .cusinfoform { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  body[data-ce-device="desktop"][data-ce-page="maryscorner"] #main .image img,
  body[data-ce-device="desktop"][data-ce-page="newSales"] #main .image img { transition:transform .2s ease; }
  body[data-ce-device="desktop"][data-ce-page="maryscorner"] #main .image:hover img,
  body[data-ce-device="desktop"][data-ce-page="newSales"] #main .image:hover img { transform:scale(1.015); }
}
@media (max-width:767px) {
  body[data-ce-device="mobile"] #main > .inner { max-width:680px; }
  body[data-ce-device="mobile"] #main section > section,
  body[data-ce-device="mobile"] #main section > article { padding:.9rem; border-radius:14px; }
  body[data-ce-device="mobile"] #main .image { display:block; margin:0 0 1rem; }
  body[data-ce-device="mobile"] #main table { width:100% !important; display:block; overflow-x:auto; }
}


/* Desktop navigation: keep sidebar permanently open and hide its toggle.
   Mobile retains the existing collapsible navigation behavior. */
@media (min-width: 768px) {
  #sidebar { transform: none !important; visibility: visible !important; }
  #sidebar.inactive { transform: none !important; }
  #sidebar > .inner { margin-left: 0 !important; }
  #sidebar .toggle,
  #sidebar > .toggle,
  a.toggle[href="#sidebar"] { display: none !important; }
}


/* Sticky brand bar: sampled from Cannabiz-Experience_logo-horz.png (#009943). */
.ce-sticky-green-bar {
  height: 12px;
  width: 100%;
  background: #009943;
  border-radius: 0 0 10px 10px;
  position: sticky;
  top: 0;
  z-index: 9500;
  box-shadow: 0 4px 12px rgba(0, 80, 35, .18);
}
@media (max-width: 767px) {
  .ce-sticky-green-bar { height: 9px; border-radius: 0 0 7px 7px; }
}


/* Age gate: visible underage/exit button */
.ce-age-no {
  background: #e8a3a3 !important;
  color: #000000 !important;
  border-color: #c97979 !important;
}
.ce-age-no:hover,
.ce-age-no:focus-visible {
  background: #dc8d8d !important;
  color: #000000 !important;
}


/* Sticky brand bar: fixed-position fallback for legacy page layouts */
.ce-sticky-green-bar {
  width: 100%;
  z-index: 9500;
}
.ce-sticky-green-bar.ce-bar-fixed {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  border-radius: 0 !important;
}
.ce-sticky-green-bar-placeholder {
  display: none;
}
.ce-sticky-green-bar-placeholder.ce-bar-placeholder-active {
  display: block;
}