:root{
  --ccsws-red:#DA31D6;
  --ccsws-red-deep:#DA31D6;
  --ccsws-red-bright:#DA31D6;
  --ccsws-ink:#17181b;
  --ccsws-muted:#858991;
  --ccsws-line:#e4e6ea;
  --ccsws-header-height:72px;
}

/* Remove competing theme/plugin headers and duplicate dashboard shell pieces. */
body.ccsws-active header.site-header,
body.ccsws-active #masthead:not(#ccsws-masthead),
body.ccsws-active .site-header:not(.ccsws-masthead),
body.ccsws-active .elementor-location-header,
body.ccsws-active .wp-site-blocks > header,
body.ccsws-active .ccsd-mobile-header,
body.ccsws-active .ccsd-desktop-profile-wrap,
body.ccsws-active footer.site-footer,
body.ccsws-active #colophon:not(#ccsws-footer),
body.ccsws-active .elementor-location-footer,
body.ccsws-active .wp-site-blocks > footer,
body.ccsws-active .ccsd-footer{
  display:none!important;
}

body.ccsws-active{
  margin:0!important;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

body.ccsws-active #page,
body.ccsws-active .site,
body.ccsws-active .wp-site-blocks{
  flex:1 0 auto;
}

.ccsws-masthead,
.ccsws-masthead *{box-sizing:border-box}
.ccsws-masthead{
  position:sticky;
  top:0;
  z-index:2147483000;
  width:100%;
  height:var(--ccsws-header-height);
  background:
    radial-gradient(circle at 18% -80%, rgba(255,255,255,.23), transparent 44%),
    radial-gradient(circle at 82% 180%, rgba(218,49,214,.30), transparent 46%),
    linear-gradient(112deg, var(--ccsws-red-deep) 0%, var(--ccsws-red) 46%, #DA31D6 100%);
  border-bottom:1px solid rgba(218,49,214,.35);
  box-shadow:0 9px 28px rgba(218,49,214,.26);
}
.admin-bar .ccsws-masthead{top:32px}
.ccsws-header-inner{
  position:relative;
  width:min(100% - 32px,1480px);
  height:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
}
.ccsws-logo{justify-self:start;display:inline-flex;text-decoration:none!important}
.ccsws-logo-mark{
  width:48px;height:48px;display:grid;place-items:center;
  border-radius:14px;background:linear-gradient(145deg,#fff,#f5f6f8);
  color:var(--ccsws-red);font:800 19px/1 "League Spartan",Arial,sans-serif;letter-spacing:-1px;
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 9px 24px rgba(218,49,214,.24),inset 0 1px 0 rgba(255,255,255,.9);
}
.ccsws-title{
  justify-self:center;display:flex;align-items:baseline;gap:8px;
  color:#fff!important;text-decoration:none!important;white-space:nowrap;
  text-shadow:0 2px 8px rgba(218,49,214,.22);
  font-family:"League Spartan",Arial,Helvetica,sans-serif;line-height:1;
}
.ccsws-title strong{font-size:24px;font-weight:800;letter-spacing:.005em}
.ccsws-title em{font-size:24px;font-style:normal;font-weight:800;letter-spacing:.005em;color:#fff}
.ccsws-account-area{justify-self:end;display:flex;align-items:center;min-width:48px}
.ccsws-profile-menu{position:relative;z-index:5;padding-bottom:10px;margin-bottom:-10px}
.ccsws-profile-menu::after{content:"";position:absolute;top:100%;right:0;width:238px;height:14px;background:transparent}
.ccsws-avatar-button{
  width:48px;height:48px;padding:0;margin:0;border:0;border-radius:50%!important;
  overflow:hidden;background:#eef0f2;cursor:pointer;appearance:none;line-height:0;
  box-shadow:0 0 0 3px rgba(255,255,255,.96),0 0 0 5px rgba(255,255,255,.28),0 7px 18px rgba(218,49,214,.24);
}
.ccsws-avatar-image{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:50%!important}
.ccsws-profile-dropdown{
  position:absolute;top:calc(100% + 6px);right:0;z-index:10;width:238px;padding:10px;
  border:1px solid var(--ccsws-line);border-radius:20px;background:#fff;
  box-shadow:0 22px 55px rgba(17,18,20,.2);
}
.ccsws-profile-dropdown[hidden]{display:none!important}
.ccsws-profile-dropdown a{
  display:flex;align-items:center;gap:12px;min-height:44px;padding:9px 12px;border-radius:12px;
  color:#24262a!important;text-decoration:none!important;font:800 15px/1.15 Arial,sans-serif;
}
.ccsws-profile-dropdown a:hover,.ccsws-profile-dropdown a:focus{background:#f2f3f5;color:#111!important}
.ccsws-profile-dropdown svg{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ccsws-account-secondary{margin-top:7px;padding-top:7px;border-top:1px solid var(--ccsws-line)}
.ccsws-profile-dropdown .ccsws-account-secondary a{min-height:32px;padding:7px 12px;border-radius:9px;color:#858991!important;font-size:12px;font-weight:700}
.ccsws-profile-dropdown .ccsws-account-secondary a:hover,.ccsws-profile-dropdown .ccsws-account-secondary a:focus{background:#f2f3f5;color:#555a63!important}
.ccsws-guest-actions{display:flex;align-items:center;gap:9px}
.ccsws-guest-actions a{display:grid;place-items:center;min-height:42px;padding:0 17px;border-radius:12px;text-decoration:none!important;font:900 12px/1 Arial,sans-serif;text-transform:uppercase;letter-spacing:.035em}
.ccsws-login{background:#111;color:#fff!important;border:1px solid #111}
.ccsws-join{background:#fff;color:var(--ccsws-red)!important;box-shadow:0 9px 22px rgba(218,49,214,.22)}

@media (hover:hover){
  .ccsws-profile-menu:hover .ccsws-profile-dropdown{display:block!important}
}
.ccsws-profile-menu:focus-within .ccsws-profile-dropdown{display:block!important}

.ccsws-footer,.ccsws-footer *{box-sizing:border-box}
.ccsws-footer{flex:0 0 auto;width:100%;margin-top:auto;background:#101113;color:#fff;position:relative;z-index:5}
.ccsws-footer-inner{width:min(100% - 32px,1360px);margin:0 auto;padding:18px 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}
.ccsws-footer-brand{display:flex;align-items:center;gap:9px;color:#fff!important;text-decoration:none!important}
.ccsws-footer-mark{width:38px;height:38px;display:grid;place-items:center;flex:0 0 38px;border-radius:12px;overflow:hidden;background:transparent}
.ccsws-footer-mark img{display:block;width:100%;height:100%;object-fit:contain}.ccsws-footer-brand>span:last-child{display:flex;flex-direction:column;line-height:.95}
.ccsws-footer-brand strong{font:800 13px/1 "League Spartan",Arial,sans-serif;letter-spacing:.04em}
.ccsws-footer-brand em{margin-top:5px;color:#DA31D6;font:800 11px/1 "League Spartan",Arial,sans-serif;font-style:normal;letter-spacing:.15em}
.ccsws-footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 16px}
.ccsws-footer-links a{color:#d6d8dc!important;text-decoration:none!important;font:700 12px/1.2 Arial,sans-serif}
.ccsws-footer-links a:hover{color:#fff!important}
.ccsws-footer-copy{color:#8f939a;font:400 11px/1.3 Arial,sans-serif;white-space:nowrap}

/* Dashboard integration: the global shell owns header/footer; page plugins own content only. */
body.ccsws-active .ccsd-shell{padding-top:0!important}
body.ccsws-active .ccsd-main{padding-top:24px!important}
body.ccsws-active .ccsd-rightbar{padding-top:24px!important}

@media(max-width:782px){.admin-bar .ccsws-masthead{top:46px}}
@media(max-width:820px){
  :root{--ccsws-header-height:64px}
  .ccsws-header-inner{width:calc(100% - 24px);grid-template-columns:48px 1fr 48px;gap:8px}
  .ccsws-logo-mark{width:43px;height:43px;border-radius:13px;font-size:16px}
  .ccsws-title{gap:6px}
  .ccsws-title strong,.ccsws-title em{font-size:18px;letter-spacing:-.4px}
  .ccsws-avatar-button{width:43px;height:43px}
  .ccsws-account-area{min-width:43px}
  .ccsws-profile-dropdown{top:calc(100% + 5px);width:min(238px,calc(100vw - 24px))}
  .ccsws-profile-menu::after{width:min(238px,calc(100vw - 24px))}
  .ccsws-footer-inner{width:min(100% - 24px,760px);grid-template-columns:1fr;justify-items:center;text-align:center;gap:12px;padding:16px 0}
}
@media(max-width:520px){
  .ccsws-header-inner{width:calc(100% - 18px);grid-template-columns:42px 1fr 42px;gap:4px}
  .ccsws-logo-mark,.ccsws-avatar-button{width:40px;height:40px}
  .ccsws-title{display:flex;flex-direction:column;align-items:center;gap:2px;line-height:.9}
  .ccsws-title strong{font-size:17px;letter-spacing:-.01em}
  .ccsws-title em{font-size:15px;letter-spacing:.11em}
  .ccsws-guest-actions{gap:4px}
  .ccsws-guest-actions a{min-height:36px;padding:0 8px;font-size:9px}
  .ccsws-account-area{min-width:40px}
  .ccsws-footer-links{gap:7px 13px}
}
@media(max-width:360px){
  .ccsws-title strong{font-size:15px}.ccsws-title em{font-size:13px}
}

/* v1.3.0 — global desktop navigation rail */
.ccsws-desktop-sidebar,
.ccsws-desktop-sidebar *{box-sizing:border-box}
.ccsws-desktop-sidebar{display:none}

@media (min-width:1081px){
  :root{--ccsws-sidebar-width:260px}

  .ccsws-desktop-sidebar{
    position:fixed;
    z-index:2147482000;
    top:var(--ccsws-header-height);
    bottom:0;
    left:0;
    width:var(--ccsws-sidebar-width);
    display:flex;
    flex-direction:column;
    padding:30px 22px 34px;
    background:#fff;
    border-right:1px solid var(--ccsws-line);
    box-shadow:8px 0 28px rgba(17,18,20,.035);
    overflow-y:auto;
  }
  .admin-bar .ccsws-desktop-sidebar{top:calc(var(--ccsws-header-height) + 32px)}

  .ccsws-sidebar-nav{display:flex;flex-direction:column;gap:9px}
  .ccsws-sidebar-link{
    min-height:58px;
    display:flex;
    align-items:center;
    gap:16px;
    padding:8px 12px;
    border-radius:17px;
    color:#2b2d31!important;
    text-decoration:none!important;
    font:800 17px/1.1 Arial,sans-serif;
    transition:background .18s ease,transform .18s ease;
  }
  .ccsws-sidebar-link:hover,
  .ccsws-sidebar-link:focus,
  .ccsws-sidebar-link.is-active{background:#f1f2f4;color:#111!important;transform:translateX(2px)}
  .ccsws-sidebar-icon{
    width:46px;height:46px;flex:0 0 46px;
    display:grid;place-items:center;border-radius:15px;color:#fff;
    box-shadow:0 8px 18px rgba(17,18,20,.10)
  }
  .ccsws-sidebar-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .ccsws-sidebar-icon-home{background:#DA31D6}
  .ccsws-sidebar-icon-explore{background:#397af6}
  .ccsws-sidebar-icon-members{background:#f2a41a}
  .ccsws-sidebar-icon-messages{background:#8b5cf6}
  .ccsws-sidebar-icon-notifications{background:#22b573}
  .ccsws-sidebar-icon-profile{background:#24262b}
  .ccsws-sidebar-create{
    min-height:62px;
    margin-top:28px;
    display:flex;align-items:center;justify-content:center;gap:12px;
    border-radius:18px;
    background:linear-gradient(135deg,#DA31D6,#DA31D6);
    color:#fff!important;text-decoration:none!important;
    font:900 18px/1 "League Spartan",Arial,sans-serif;
    box-shadow:0 15px 30px rgba(218,49,214,.25)
  }
  .ccsws-sidebar-create svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}

  /* Shift the theme/page canvas, while the global header and footer remain full-width. */
  body.ccsws-active > #page,
  body.ccsws-active > .site,
  body.ccsws-active > .wp-site-blocks{
    width:calc(100% - var(--ccsws-sidebar-width))!important;
    max-width:none!important;
    margin-left:var(--ccsws-sidebar-width)!important;
  }

  /* The shell owns desktop navigation; suppress page-plugin copies. */
  body.ccsws-active .ccsd-leftbar,
  body.ccsws-active .ccp-left{display:none!important}
  body.ccsws-active .ccsd-shell{
    grid-template-columns:minmax(0,720px) minmax(280px,340px)!important;
    max-width:1110px!important;
  }
  body.ccsws-active .ccp-app{display:block!important;min-height:0!important}
  body.ccsws-active .ccp-main{width:min(100%,1120px)!important}

  body.ccsws-active .ccp-mobile-header,
  body.ccsws-active .ccp-footer{display:none!important}
}

/* v1.3.1 — fixed masthead, restored mobile/tablet dock, and collision-safe desktop canvas */
.ccsws-masthead{position:fixed!important;left:0;right:0;top:0!important}
body.ccsws-active{padding-top:var(--ccsws-header-height)!important}
body.admin-bar.ccsws-active .ccsws-masthead{top:32px!important}
body.admin-bar.ccsws-active{padding-top:calc(var(--ccsws-header-height) + 32px)!important}

.ccsws-mobile-nav{display:none}

@media (min-width:1081px){
  :root{--ccsws-sidebar-width:224px}
  .ccsws-desktop-sidebar{width:var(--ccsws-sidebar-width);padding:24px 14px 28px}
  .ccsws-sidebar-link{min-height:54px;gap:12px;padding:7px 10px;font-size:15px}
  .ccsws-sidebar-icon{width:42px;height:42px;flex-basis:42px;border-radius:13px}
  .ccsws-sidebar-icon svg{width:22px;height:22px}
  .ccsws-sidebar-create{min-height:58px;margin-top:22px;font-size:17px}

  body.ccsws-active > #page,
  body.ccsws-active > .site,
  body.ccsws-active > .wp-site-blocks{
    width:100%!important;
    margin-left:0!important;
  }

  body.ccsws-active .ccsd-shell{
    width:calc(100% - var(--ccsws-sidebar-width))!important;
    max-width:1320px!important;
    margin-left:var(--ccsws-sidebar-width)!important;
    margin-right:auto!important;
    padding-left:24px!important;
    padding-right:24px!important;
    grid-template-columns:minmax(0,1fr) minmax(270px,320px)!important;
    gap:24px!important;
  }
  body.ccsws-active .ccp-app{
    width:calc(100% - var(--ccsws-sidebar-width))!important;
    margin-left:var(--ccsws-sidebar-width)!important;
  }
  body.ccsws-active .ccp-main{
    width:100%!important;
    max-width:1320px!important;
    margin:0 auto!important;
    padding-left:24px!important;
    padding-right:24px!important;
  }
  body.ccsws-active .ccp-content-shell{
    grid-template-columns:minmax(0,1fr) minmax(270px,310px)!important;
    gap:22px!important;
  }
}

@media (max-width:1080px){
  body.ccsws-active{padding-bottom:82px!important}
  body.admin-bar.ccsws-active{padding-top:calc(var(--ccsws-header-height) + 46px)!important}
  body.admin-bar.ccsws-active .ccsws-masthead{top:46px!important}
  .ccsws-footer{padding-bottom:82px}
  .ccsws-mobile-nav{
    position:fixed;left:0;right:0;bottom:0;z-index:2147483200;
    height:76px;padding:7px max(10px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));
    display:grid;grid-template-columns:1fr 1fr 74px 1fr 1fr;align-items:end;
    background:rgba(255,255,255,.97);border-top:1px solid #e3e5e9;
    box-shadow:0 -10px 30px rgba(17,18,20,.10);backdrop-filter:blur(16px)
  }
  .ccsws-mobile-link{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#71747a!important;text-decoration:none!important;font:800 11px/1 Arial,sans-serif}
  .ccsws-mobile-link svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .ccsws-mobile-link.is-active{color:var(--ccsws-red)!important}
  .ccsws-mobile-create{align-self:start;justify-self:center;width:66px;height:66px;margin-top:-25px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#DA31D6,#DA31D6);color:#fff!important;text-decoration:none!important;border:7px solid #fff;box-shadow:0 12px 28px rgba(218,49,214,.30)}
  .ccsws-mobile-create svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
}

@media (max-width:520px){
  .ccsws-mobile-nav{grid-template-columns:1fr 1fr 68px 1fr 1fr;height:72px}
  .ccsws-mobile-create{width:62px;height:62px;margin-top:-22px}
  .ccsws-mobile-link{font-size:10px}
}

/* v1.4.0 — unread notification badges and direct profile-tab navigation */
.ccsws-avatar-button{position:relative;overflow:visible!important}
.ccsws-notification-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:22px;height:22px;padding:0 6px;border-radius:999px;
  font:900 11px/1 Arial,sans-serif;letter-spacing:-.02em;
  white-space:nowrap;box-sizing:border-box
}
.ccsws-avatar-notification-badge{
  position:absolute;right:-7px;top:-6px;z-index:4;
  min-width:23px;height:23px;padding:0 6px;
  background:#111;color:#fff;border:2px solid #fff;
  box-shadow:0 5px 14px rgba(0,0,0,.24)
}
.ccsws-profile-dropdown a{position:relative}
.ccsws-dropdown-notification-badge{
  margin-left:auto;background:#DA31D6;color:#fff;
  box-shadow:0 5px 12px rgba(218,49,214,.22)
}
.ccsws-sidebar-label{min-width:0}
.ccsws-sidebar-notification-badge{
  margin-left:auto;background:#DA31D6;color:#fff;
  box-shadow:0 5px 12px rgba(218,49,214,.22)
}
@media(max-width:520px){
  .ccsws-avatar-notification-badge{right:-5px;top:-5px;min-width:21px;height:21px;font-size:10px}
}

/* v1.4.1 — stronger mobile masthead title and centered guest actions */
@media (max-width:520px){
  .ccsws-header-inner{
    grid-template-columns:42px minmax(0,1fr) auto;
    column-gap:7px;
  }

  .ccsws-title{
    min-width:0;
    gap:1px;
    line-height:.88;
    text-align:center;
  }
  .ccsws-title strong{
    font-size:21px;
    line-height:.9;
    letter-spacing:-.025em;
  }
  .ccsws-title em{
    font-size:19px;
    line-height:.9;
    letter-spacing:.075em;
  }

  .ccsws-account-area{
    min-width:0;
  }
  .ccsws-guest-actions{
    gap:5px;
  }
  .ccsws-guest-actions a{
    width:46px;
    min-width:46px;
    height:46px;
    min-height:46px;
    padding:0 5px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:normal;
    font-size:10px;
    line-height:1.02;
    border-radius:14px;
  }
}

@media (max-width:390px){
  .ccsws-header-inner{
    width:calc(100% - 14px);
    grid-template-columns:40px minmax(0,1fr) auto;
    column-gap:5px;
  }
  .ccsws-title strong{font-size:19px}
  .ccsws-title em{font-size:17px}
  .ccsws-guest-actions a{
    width:43px;
    min-width:43px;
    height:43px;
    min-height:43px;
    padding:0 4px;
    font-size:9px;
  }
}

@media (max-width:350px){
  .ccsws-title strong{font-size:17px}
  .ccsws-title em{font-size:15px}
  .ccsws-guest-actions{gap:3px}
  .ccsws-guest-actions a{
    width:40px;
    min-width:40px;
    height:40px;
    min-height:40px;
    font-size:8px;
  }
}

/* v1.5.1 shell-wide registration and create routing */
.ccsws-join{border:0;font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
body.ccsws-modal-open{overflow:hidden!important}
.ccsws-auth-modal,.ccsws-signup-modal{position:fixed;inset:0;z-index:1000000;display:none;align-items:center;justify-content:center;padding:20px}
.ccsws-auth-modal.is-open,.ccsws-signup-modal.is-open{display:flex}
.ccsws-modal-backdrop{position:absolute;inset:0;background:rgba(7,8,10,.76);backdrop-filter:blur(8px)}
.ccsws-auth-dialog,.ccsws-signup-dialog{position:relative;z-index:1;width:min(100%,980px);background:#fff;border-radius:28px;box-shadow:0 28px 90px rgba(0,0,0,.32)}
.ccsws-auth-dialog{max-width:720px;background:#111214;color:#fff;padding:42px;text-align:center}
.ccsws-modal-close{position:absolute;right:18px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:#f1f1f3;color:#222;font-size:30px;line-height:1;cursor:pointer}
.ccsws-modal-mark{width:74px;height:74px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#DA31D6,#DA31D6);color:#fff;font-weight:900;font-size:24px;box-shadow:0 16px 34px rgba(218,49,214,.28)}
.ccsws-auth-dialog .ccsws-modal-mark{margin:0 auto 18px}
.ccsws-modal-eyebrow,.ccsws-signup-heading>div>span{display:block;color:#DA31D6;font-weight:900;letter-spacing:3px;font-size:13px}
.ccsws-auth-dialog h2{font-size:42px;line-height:1;margin:12px 0 10px}.ccsws-auth-dialog p{margin:0 auto;color:#c5c7cc;font-size:18px;max-width:520px}
.ccsws-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.ccsws-auth-actions a,.ccsws-auth-actions button{min-height:68px;border:0;border-radius:20px;font-size:22px;text-transform:uppercase;display:flex;align-items:center;justify-content:center;text-decoration:none!important;cursor:pointer}.ccsws-auth-actions a{background:#fff;color:#111!important}.ccsws-auth-actions button{background:linear-gradient(135deg,#DA31D6,#DA31D6);color:#fff;box-shadow:0 14px 30px rgba(218,49,214,.30)}
.ccsws-signup-dialog{max-height:calc(100vh - 34px);overflow:auto;padding:34px 48px 30px}
.ccsws-signup-heading{display:flex;align-items:center;gap:20px;margin-bottom:26px}.ccsws-signup-heading h2{margin:6px 0 0;font-size:36px;line-height:1.05;color:#17181b}
.ccsws-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 26px}.ccsws-form-grid label{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:800;color:#303238}.ccsws-form-grid b,.ccsws-terms-check b{color:#DA31D6}.ccsws-form-grid input{width:100%;height:58px;border:1px solid #d9dce2;border-radius:16px;background:#f8f9fb;padding:0 16px;font:inherit;outline:none}.ccsws-form-grid input:focus{border-color:#DA31D6;box-shadow:0 0 0 4px rgba(218,49,214,.10)}.ccsws-form-wide{grid-column:1/-1}.ccsws-terms-check{display:flex;align-items:flex-start;gap:10px;margin:24px 0 18px;color:#666b75}.ccsws-terms-check input{width:20px;height:20px;flex:0 0 20px}.ccsws-terms-check a{color:#DA31D6!important;font-weight:800}.ccsws-signup-message{min-height:24px;margin-bottom:10px;font-weight:800}.ccsws-signup-message.is-error{color:#DA31D6}.ccsws-signup-message.is-success{color:#138a50}.ccsws-signup-submit{width:100%;min-height:62px;border:0;border-radius:18px;background:linear-gradient(135deg,#DA31D6,#DA31D6);color:#fff;font-size:20px;font-weight:900;cursor:pointer;box-shadow:0 14px 30px rgba(218,49,214,.25)}.ccsws-signup-submit:disabled{opacity:.65;cursor:wait}
@media(max-width:700px){.ccsws-auth-modal,.ccsws-signup-modal{padding:10px}.ccsws-auth-dialog{padding:34px 20px 24px;border-radius:24px}.ccsws-auth-dialog h2{font-size:32px}.ccsws-auth-dialog p{font-size:16px}.ccsws-auth-actions{grid-template-columns:1fr}.ccsws-auth-actions a,.ccsws-auth-actions button{min-height:58px;font-size:18px}.ccsws-signup-dialog{padding:24px 18px 20px;border-radius:22px}.ccsws-signup-heading{gap:14px;padding-right:34px}.ccsws-signup-heading .ccsws-modal-mark{width:56px;height:56px;border-radius:17px;font-size:19px}.ccsws-signup-heading h2{font-size:27px}.ccsws-form-grid{grid-template-columns:1fr;gap:15px}.ccsws-form-wide{grid-column:auto}.ccsws-form-grid input{height:54px}}

/* v1.5.2 — restore polished guest Join Free styling and direct guest registration links */
.ccsws-guest-actions .ccsws-join{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px;
  padding:0 18px;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#DA31D6 0%,#DA31D6 100%)!important;
  color:#fff!important;
  box-shadow:0 10px 25px rgba(218,49,214,.34),0 0 22px rgba(218,49,214,.18)!important;
  font:900 12px/1 Arial,sans-serif!important;
  text-transform:uppercase;
  letter-spacing:.035em;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.ccsws-guest-actions .ccsws-join:hover,
.ccsws-guest-actions .ccsws-join:focus-visible{
  transform:translateY(-1px);
  filter:brightness(1.04);
  box-shadow:0 14px 30px rgba(218,49,214,.42),0 0 28px rgba(218,49,214,.24)!important;
}
@media(max-width:700px){
  .ccsws-guest-actions .ccsws-join{
    width:46px;
    min-width:46px;
    height:46px;
    min-height:46px;
    padding:0 5px;
    border-radius:14px!important;
    white-space:normal!important;
    text-align:center;
    font-size:10px!important;
    line-height:1.02!important;
  }
}
@media(max-width:390px){
  .ccsws-guest-actions .ccsws-join{width:43px;min-width:43px;height:43px;min-height:43px;font-size:9px!important}
}
@media(max-width:350px){
  .ccsws-guest-actions .ccsws-join{width:40px;min-width:40px;height:40px;min-height:40px;font-size:8px!important}
}

/* v1.5.7 — refreshed app icon and warmer solid mobile/tablet red */
.ccsws-logo-mark{
  padding:0;
  overflow:hidden;
  background:#fff;
}
.ccsws-logo-mark img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  border-radius:inherit;
}

/* Use one exact, app-friendly red on tablet and mobile so the native
   safe-area/status-bar color can match without a gradient seam. */
@media (max-width:1080px){
  :root{
    --ccsws-native-red:#DA31D6;
    --ccsws-red:#DA31D6;
  }
  .ccsws-masthead{
    background:#DA31D6!important;
    border-bottom-color:#DA31D6;
    box-shadow:0 8px 24px rgba(218,49,214,.22);
  }
  .ccsws-login{background:#111;color:#fff!important;border-color:#111}
  .ccsws-join{background:#DA31D6;color:#fff!important}
}

/* Signed-out mobile header: center the brand against the viewport itself,
   not merely the leftover space between the logo and two action buttons. */
@media (max-width:520px){
  .ccsws-masthead.ccsws-is-guest .ccsws-header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .ccsws-masthead.ccsws-is-guest .ccsws-logo{
    flex:0 0 40px;
    z-index:2;
  }
  .ccsws-masthead.ccsws-is-guest .ccsws-title{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:max-content;
    max-width:44vw;
    margin:0;
    z-index:1;
  }
  .ccsws-masthead.ccsws-is-guest .ccsws-account-area{
    flex:0 0 auto;
    z-index:2;
  }
  .ccsws-masthead.ccsws-is-guest .ccsws-title strong{font-size:18px}
  .ccsws-masthead.ccsws-is-guest .ccsws-title em{font-size:16px}
}

@media (max-width:390px){
  .ccsws-masthead.ccsws-is-guest .ccsws-title{max-width:41vw}
  .ccsws-masthead.ccsws-is-guest .ccsws-title strong{font-size:16px}
  .ccsws-masthead.ccsws-is-guest .ccsws-title em{font-size:14px}
}

/* v1.6.1 — mobile, tablet, and small-desktop white masthead with direction-aware reveal */
@media (max-width:1080px){
  :root{--ccsws-mobile-brand-red:#DA31D6}

  .ccsws-masthead{
    background:#fff!important;
    border-bottom:1px solid #e7e7e7!important;
    box-shadow:0 6px 20px rgba(17,18,20,.10)!important;
    transition:transform .22s ease,box-shadow .22s ease!important;
    will-change:transform;
  }
  /* Signed-out visitors keep the original whole-header hide behavior. */
  .ccsws-masthead.ccsws-is-guest.ccsws-header-hidden{
    transform:translate3d(0,-110%,0);
    box-shadow:none!important;
  }

  /* Logged-in mobile/tablet: keep only the profile photo pinned in the
     top-right while the rest of the masthead disappears on downward scroll.
     Keeping the masthead itself fixed avoids any avatar jump or reflow. */
  .ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden{
    transform:none!important;
    background:transparent!important;
    border-bottom-color:transparent!important;
    box-shadow:none!important;
    pointer-events:none;
  }
  .ccsws-masthead.ccsws-is-logged-in .ccsws-logo,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-title{
    transition:opacity .18s ease,transform .22s ease!important;
  }
  .ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-logo,
  .ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-title{
    opacity:0!important;
    transform:translate3d(0,-125%,0)!important;
    pointer-events:none!important;
  }
  .ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-account-area,
  .ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-profile-menu,
  .ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-avatar-button,
  .ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-profile-dropdown{
    pointer-events:auto!important;
  }
  .ccsws-title,
  .ccsws-title strong,
  .ccsws-title em{
    color:var(--ccsws-mobile-brand-red)!important;
    text-shadow:none!important;
  }

  /* Keep signed-out controls readable against the new white background. */
  .ccsws-login{
    background:#111!important;
    color:#fff!important;
    border:1px solid #111!important;
    box-shadow:none!important;
  }
  .ccsws-guest-actions .ccsws-join{
    background:var(--ccsws-mobile-brand-red)!important;
    box-shadow:0 7px 18px rgba(218,49,214,.22)!important;
  }

  /* The masthead remains fixed for instant upward reveal, but is not
     permanently visible: JavaScript moves it out of view while scrolling down. */
  .ccsws-masthead{position:fixed!important}
}

@media (prefers-reduced-motion:reduce) and (max-width:1080px){
  .ccsws-masthead{transition:none!important}
}

/* v1.5.9 — Instagram-inspired floating icon-only mobile/tablet navigation */
@media (max-width:1080px){
  /* Reserve only the space actually needed by the floating navigation. */
  body.ccsws-active{padding-bottom:88px!important}
  .ccsws-footer{padding-bottom:88px}

  .ccsws-mobile-nav{
    left:50%!important;
    right:auto!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
    transform:translateX(-50%);
    width:min(calc(100% - 24px),680px)!important;
    height:64px!important;
    padding:6px 10px!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    align-items:center!important;
    border:1px solid rgba(255,255,255,.74)!important;
    border-radius:32px!important;
    background:rgba(255,255,255,.78)!important;
    box-shadow:0 10px 34px rgba(17,18,20,.16),inset 0 1px 0 rgba(255,255,255,.72)!important;
    -webkit-backdrop-filter:blur(18px) saturate(145%);
    backdrop-filter:blur(18px) saturate(145%);
    overflow:hidden;
  }

  .ccsws-mobile-link,
  .ccsws-mobile-create{
    position:relative;
    align-self:center!important;
    justify-self:center!important;
    width:52px!important;
    height:52px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    border:0!important;
    border-radius:26px!important;
    background:transparent!important;
    color:#18191c!important;
    box-shadow:none!important;
    text-decoration:none!important;
    transition:background .16s ease,transform .16s ease,color .16s ease;
    -webkit-tap-highlight-color:transparent;
  }

  .ccsws-mobile-link span{display:none!important}

  .ccsws-mobile-link svg,
  .ccsws-mobile-create svg{
    width:26px!important;
    height:26px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.85!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }

  .ccsws-mobile-link.is-active{
    color:#090a0c!important;
    background:rgba(17,18,20,.09)!important;
  }
  .ccsws-mobile-link.is-active svg{stroke-width:2.15!important}

  /* Keep Create in the center, but style it as Instagram's simple outlined add-post icon. */
  .ccsws-mobile-create::before{
    content:"";
    position:absolute;
    width:30px;
    height:30px;
    border:2px solid currentColor;
    border-radius:9px;
    box-sizing:border-box;
  }
  .ccsws-mobile-create svg{
    position:relative;
    z-index:1;
    width:19px!important;
    height:19px!important;
    stroke-width:1.9!important;
  }

  .ccsws-mobile-link:active,
  .ccsws-mobile-create:active{transform:scale(.92)}
}

@media (max-width:520px){
  .ccsws-mobile-nav{
    width:calc(100% - 20px)!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    height:62px!important;
    padding:5px 7px!important;
    border-radius:31px!important;
  }
  .ccsws-mobile-link,
  .ccsws-mobile-create{
    width:48px!important;
    height:48px!important;
    border-radius:24px!important;
  }
  .ccsws-mobile-link svg{width:24px!important;height:24px!important}
  .ccsws-mobile-create::before{width:29px;height:29px;border-radius:8px}
}

@media (prefers-reduced-motion:reduce) and (max-width:1080px){
  .ccsws-mobile-link,.ccsws-mobile-create{transition:none!important}
}

/* v1.6.0 — compact floating mobile nav; fully suppress legacy dashboard bar/FAB */
@media (max-width:1080px){
  /* The sitewide shell is the only mobile navigation. Remove legacy dashboard
     wrappers, backgrounds, borders, and the old red floating create control. */
  body.ccsws-active .ccsd-mobile-nav,
  body.ccsws-active .ccsd-mobile-bottom-nav,
  body.ccsws-active .ccsd-bottom-nav,
  body.ccsws-active .ccsd-mobile-menu,
  body.ccsws-active .ccsd-mobile-bar,
  body.ccsws-active .ccsd-mobile-create,
  body.ccsws-active .ccsd-mobile-fab,
  body.ccsws-active .ccsd-create-fab,
  body.ccsws-active [class*="ccsd-mobile"][class*="create"],
  body.ccsws-active [class*="ccsd-"][class*="bottom-nav"]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  /* Keep enough scroll room for the floating bar without adding a visible
     footer-colored shelf behind it. */
  body.ccsws-active{padding-bottom:72px!important}
  body.ccsws-active .ccsws-footer{padding-bottom:0!important}

  .ccsws-mobile-nav{
    width:min(calc(100% - 42px),560px)!important;
    height:54px!important;
    bottom:max(14px,env(safe-area-inset-bottom))!important;
    padding:4px 8px!important;
    border:0!important;
    border-radius:27px!important;
    background:rgba(255,255,255,.66)!important;
    box-shadow:0 7px 24px rgba(17,18,20,.13)!important;
    -webkit-backdrop-filter:blur(16px) saturate(135%)!important;
    backdrop-filter:blur(16px) saturate(135%)!important;
    overflow:visible!important;
  }

  .ccsws-mobile-link,
  .ccsws-mobile-create{
    width:44px!important;
    height:44px!important;
    border-radius:22px!important;
  }

  .ccsws-mobile-link svg{
    width:22px!important;
    height:22px!important;
  }

  .ccsws-mobile-create::before{
    width:27px!important;
    height:27px!important;
    border-width:1.8px!important;
    border-radius:8px!important;
  }
  .ccsws-mobile-create svg{
    width:17px!important;
    height:17px!important;
  }

  .ccsws-mobile-link.is-active{
    background:rgba(17,18,20,.075)!important;
  }
}

@media (max-width:520px){
  body.ccsws-active{padding-bottom:68px!important}
  .ccsws-mobile-nav{
    width:calc(100% - 34px)!important;
    height:52px!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
    padding:4px 6px!important;
    border-radius:26px!important;
  }
  .ccsws-mobile-link,
  .ccsws-mobile-create{
    width:42px!important;
    height:42px!important;
    border-radius:21px!important;
  }
  .ccsws-mobile-link svg{width:21px!important;height:21px!important}
  .ccsws-mobile-create::before{width:26px!important;height:26px!important}
  .ccsws-mobile-create svg{width:16px!important;height:16px!important}
}

/* v1.6.3 — focused notification badge colors.
   Avatar badge: Facebook-style blue on desktop, bright action red on tablet/mobile.
   Dropdown and desktop-sidebar numeric badges intentionally remain red. */
@media (min-width:1025px){
  .ccsws-avatar-notification-badge{
    background:#1877F2!important;
    color:#fff!important;
  }
  .ccsws-sidebar-icon-notifications{
    background:#1877F2!important;
  }
}
@media (max-width:1024px){
  .ccsws-avatar-notification-badge{
    background:#DA31D6!important;
    color:#fff!important;
  }
}

/* v1.6.5 unread message badges */
.ccsws-message-badge{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#DA31D6;color:#fff;font-size:12px;font-weight:900;line-height:1;box-shadow:0 6px 16px rgba(218,49,214,.28);margin-left:auto}
.ccsws-profile-dropdown a{position:relative}
.ccsws-dropdown-message-badge{margin-left:auto}
.ccsws-sidebar-message-badge{margin-left:auto}


/* Story viewer integration: the story plugin owns the full viewport while open. */
body.ccs-open #ccsws-masthead,
body.ccs-open #ccsws-mobile-nav,
body.ccs-open #ccsws-desktop-sidebar{display:none!important;visibility:hidden!important;pointer-events:none!important}
body.ccs-open{padding-top:0!important;margin-top:0!important;overflow:hidden!important}

/* v1.6.8 — refined mobile/tablet glass nav: stronger icons + subtle live-story edge */
@media (max-width:1080px){
  .ccsws-mobile-nav{
    /* Keep the existing translucent glass treatment while adding a very thin,
       low-saturation Instagram/live-story inspired gradient edge. */
    border:1px solid transparent!important;
    background:
      linear-gradient(rgba(255,255,255,.66),rgba(255,255,255,.66)) padding-box,
      linear-gradient(112deg,
        rgba(255,126,0,.58) 0%,
        rgba(218,49,214,.62) 34%,
        rgba(211,0,197,.54) 67%,
        rgba(118,56,250,.55) 100%) border-box!important;
    box-shadow:
      0 7px 24px rgba(17,18,20,.13),
      0 0 11px rgba(218,49,214,.055)!important;
  }

  /* SVG icons do not use font-weight; a small stroke increase creates the
     requested slightly bolder appearance without making them heavy. */
  .ccsws-mobile-link svg{
    stroke-width:2.08!important;
  }
  .ccsws-mobile-link.is-active svg{
    stroke-width:2.32!important;
  }
  .ccsws-mobile-create::before{
    border-width:2.05px!important;
  }
  .ccsws-mobile-create svg{
    stroke-width:2.12!important;
  }
}

/* v1.7.0 — solid white mobile/tablet dock with live-story gradient edge */
@media (max-width:1080px){
  .ccsws-mobile-nav{
    background:
      linear-gradient(#fff,#fff) padding-box,
      linear-gradient(112deg,
        rgba(255,126,0,.58) 0%,
        rgba(218,49,214,.62) 34%,
        rgba(211,0,197,.54) 67%,
        rgba(118,56,250,.55) 100%) border-box!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}

/* v1.7.2 — smooth, lightweight app-style navigation across mobile/tablet. */
@media (max-width:1080px){
  body.ccsws-active::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:2147482500;
    pointer-events:none;
    background:rgba(255,255,255,.46);
    opacity:0;
    visibility:hidden;
    transition:opacity .14s ease,visibility 0s linear .14s;
  }
  body.ccsws-active.ccsws-nav-leaving::after{
    opacity:1;
    visibility:visible;
    transition:opacity .14s ease;
  }

  /* Header and bottom dock remain visible above the veil, preserving context. */
  .ccsws-masthead{z-index:2147483000!important}
  .ccsws-mobile-nav{z-index:2147483200!important}

  /* Instant tactile response on any same-site link that is actually navigating. */
  a.ccsws-is-navigating{
    opacity:.72!important;
    transform:scale(.975);
    transition:opacity .08s ease,transform .08s ease!important;
  }
  .ccsws-mobile-link.ccsws-is-navigating,
  .ccsws-mobile-create.ccsws-is-navigating{
    background:rgba(17,18,20,.09)!important;
    transform:scale(.94)!important;
  }
  .ccsws-logo.ccsws-is-navigating,
  .ccsws-title.ccsws-is-navigating,
  .ccsws-profile-dropdown a.ccsws-is-navigating{
    opacity:.68!important;
  }

  /* Account menu: mounted, GPU-cheap opacity/translate animation on touch. */
  .ccsws-profile-menu.is-menu-ready .ccsws-profile-dropdown{
    display:block!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,-5px,0) scale(.985);
    transform-origin:top right;
    transition:opacity .12s ease,transform .12s ease,visibility 0s linear .12s;
    will-change:opacity,transform;
  }
  .ccsws-profile-menu.is-menu-ready.is-open .ccsws-profile-dropdown{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0) scale(1);
    transition:opacity .12s ease,transform .12s ease;
  }
  .ccsws-avatar-button{
    transition:transform .1s ease,opacity .1s ease;
    touch-action:manipulation;
  }
  .ccsws-avatar-button.is-pressed{transform:scale(.94);opacity:.86}

  body.ccsws-active a{-webkit-tap-highlight-color:transparent}
}

@media (prefers-reduced-motion:reduce) and (max-width:1080px){
  body.ccsws-active::after,
  a.ccsws-is-navigating,
  .ccsws-avatar-button,
  .ccsws-profile-menu.is-menu-ready .ccsws-profile-dropdown{transition:none!important}
  a.ccsws-is-navigating,
  .ccsws-avatar-button.is-pressed{transform:none!important}
}


/* v1.7.3 — masthead brand polish: borderless icon, registration-matched title, live-story avatar ring. */
.ccsws-logo-mark{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden;
}
.ccsws-logo-mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.ccsws-title{
  align-items:center!important;
  line-height:1!important;
}
.ccsws-title strong,
.ccsws-title em{
  font-size:25px;
  line-height:1;
}
.ccsws-avatar-button{
  border:2px solid transparent!important;
  padding:2px!important;
  overflow:hidden;
  background:
    linear-gradient(#eef0f2,#eef0f2) padding-box,
    linear-gradient(115deg,#ff7a00 0%,#DA31D6 34%,#d300c5 68%,#7638fa 100%) border-box!important;
  box-shadow:0 7px 18px rgba(218,49,214,.24)!important;
}
.ccsws-avatar-image{
  border-radius:50%!important;
}

@media(max-width:820px){
  .ccsws-title{
    flex-direction:row!important;
    gap:5px!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:0!important;
  }
  .ccsws-title strong,
  .ccsws-title em{
    font-size:19px!important;
    line-height:1!important;
    letter-spacing:.015em!important;
    white-space:nowrap!important;
  }
}
@media(max-width:360px){
  .ccsws-title strong,
  .ccsws-title em{font-size:18px!important}
}

/* v1.7.4 — larger, more readable phone masthead title without changing masthead height. */


/* v1.7.5 — guest phone masthead: left Log In, centered brand, bright-red Join. */
.ccsws-mobile-login-left{display:none}

@media (max-width:600px){
  .ccsws-masthead.ccsws-is-guest .ccsws-header-inner{
    width:calc(100% - 24px)!important;
    grid-template-columns:68px minmax(0,1fr) 58px!important;
    column-gap:6px!important;
  }

  /* On phones, replace the logo position with Log In. */
  .ccsws-masthead.ccsws-is-guest .ccsws-logo{display:none!important}
  .ccsws-masthead.ccsws-is-guest .ccsws-mobile-login-left{
    display:inline-flex!important;
    grid-column:1;
    grid-row:1;
    justify-self:start;
    align-items:center;
    justify-content:center;
    min-width:62px;
    height:42px;
    padding:0 11px;
    border:1px solid #111;
    border-radius:14px;
    background:#111;
    color:#fff!important;
    text-decoration:none!important;
    text-transform:uppercase;
    white-space:nowrap;
    font:900 11px/1 Arial,sans-serif;
    letter-spacing:.035em;
    box-shadow:none;
  }

  .ccsws-masthead.ccsws-is-guest .ccsws-title{
    grid-column:2;
    grid-row:1;
    justify-self:center!important;
    min-width:0;
    gap:4px!important;
    overflow:visible;
  }
  .ccsws-masthead.ccsws-is-guest .ccsws-title strong,
  .ccsws-masthead.ccsws-is-guest .ccsws-title em{
    font-size:clamp(13px,4vw,16px)!important;
    letter-spacing:.005em!important;
  }

  .ccsws-masthead.ccsws-is-guest .ccsws-account-area{
    grid-column:3;
    grid-row:1;
    justify-self:end!important;
    min-width:0!important;
  }
  .ccsws-masthead.ccsws-is-guest .ccsws-guest-actions{gap:0!important}
  .ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-login{display:none!important}
  .ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join{
    width:56px!important;
    min-width:56px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 8px!important;
    border:0!important;
    border-radius:14px!important;
    background:#DA31D6!important;
    color:#fff!important;
    box-shadow:0 7px 18px rgba(218,49,214,.22)!important;
    font-size:10px!important;
  }
}

@media (max-width:360px){
  .ccsws-masthead.ccsws-is-guest .ccsws-header-inner{
    width:calc(100% - 16px)!important;
    grid-template-columns:62px minmax(0,1fr) 52px!important;
    column-gap:4px!important;
  }
  .ccsws-masthead.ccsws-is-guest .ccsws-mobile-login-left{
    min-width:58px;height:40px;padding:0 8px;font-size:10px;border-radius:13px;
  }
  .ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join{
    width:50px!important;min-width:50px!important;height:40px!important;min-height:40px!important;font-size:9px!important;border-radius:13px!important;
  }
  .ccsws-masthead.ccsws-is-guest .ccsws-title strong,
  .ccsws-masthead.ccsws-is-guest .ccsws-title em{font-size:12.5px!important}
}


/* v1.7.6 — direction-aware compact mobile/tablet bottom dock.
   Normal on load / upward scroll; subtly smaller while scrolling down. */
@media (max-width:1080px){
  .ccsws-mobile-nav{
    transition:
      width .20s cubic-bezier(.2,.7,.2,1),
      height .20s cubic-bezier(.2,.7,.2,1),
      padding .20s cubic-bezier(.2,.7,.2,1),
      bottom .20s cubic-bezier(.2,.7,.2,1),
      border-radius .20s cubic-bezier(.2,.7,.2,1),
      box-shadow .20s ease!important;
    will-change:width,height,padding,bottom;
  }
  .ccsws-mobile-link,
  .ccsws-mobile-create,
  .ccsws-mobile-link svg,
  .ccsws-mobile-create svg,
  .ccsws-mobile-create::before{
    transition:
      width .20s cubic-bezier(.2,.7,.2,1),
      height .20s cubic-bezier(.2,.7,.2,1),
      border-radius .20s cubic-bezier(.2,.7,.2,1),
      transform .16s ease,
      background .16s ease,
      color .16s ease!important;
  }

  .ccsws-mobile-nav.ccsws-nav-compact{
    width:min(calc(100% - 58px),520px)!important;
    height:48px!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    padding:3px 7px!important;
    border-radius:24px!important;
    box-shadow:0 5px 18px rgba(17,18,20,.11)!important;
  }
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-link,
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-create{
    width:40px!important;
    height:40px!important;
    border-radius:20px!important;
  }
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-link svg{
    width:21px!important;
    height:21px!important;
  }
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-create::before{
    width:25px!important;
    height:25px!important;
    border-radius:7px!important;
  }
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-create svg{
    width:15px!important;
    height:15px!important;
  }
}

@media (max-width:520px){
  .ccsws-mobile-nav.ccsws-nav-compact{
    width:calc(100% - 50px)!important;
    height:46px!important;
    bottom:max(9px,env(safe-area-inset-bottom))!important;
    padding:3px 5px!important;
    border-radius:23px!important;
  }
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-link,
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-create{
    width:38px!important;
    height:38px!important;
    border-radius:19px!important;
  }
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-link svg{
    width:20px!important;
    height:20px!important;
  }
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-create::before{
    width:24px!important;
    height:24px!important;
  }
}

@media (prefers-reduced-motion:reduce) and (max-width:1080px){
  .ccsws-mobile-nav,
  .ccsws-mobile-link,
  .ccsws-mobile-create,
  .ccsws-mobile-link svg,
  .ccsws-mobile-create svg,
  .ccsws-mobile-create::before{transition:none!important}
}


/* v1.7.7 — desktop-only scroll-aware masthead.
   Downward scroll removes the nav surface/title while keeping the C logo and
   logged-in profile control pinned. Upward scroll restores the full masthead.
   Mobile/tablet behavior remains governed exclusively by the existing <=1080px rules. */
@media (min-width:1081px){
  .ccsws-masthead{
    transition:background .20s ease,border-color .20s ease,box-shadow .20s ease!important;
  }
  .ccsws-masthead .ccsws-title{
    transition:opacity .16s ease,transform .20s ease!important;
  }

  .ccsws-masthead.ccsws-desktop-header-hidden{
    background:transparent!important;
    border-bottom-color:transparent!important;
    box-shadow:none!important;
    pointer-events:none;
  }

  /* v1.7.8 — when the desktop masthead hides, keep a clean white panel behind
     the C logo that exactly matches the left navigation rail width. This makes
     the sidebar read as one continuous white column extending to the top edge. */
  .ccsws-masthead.ccsws-desktop-header-hidden::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:var(--ccsws-sidebar-width);
    background:#fff;
    border-right:1px solid var(--ccsws-line);
    box-shadow:8px 0 28px rgba(17,18,20,.035);
    pointer-events:none;
    z-index:0;
  }
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-header-inner{
    z-index:1;
  }
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-title{
    opacity:0!important;
    transform:translate3d(0,-115%,0)!important;
    pointer-events:none!important;
  }

  /* Keep these two controls active and visually fixed while the masthead itself
     becomes transparent. Their grid positions do not change, so there is no jump. */
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-logo,
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-logo-mark,
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-account-area,
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-profile-menu,
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-avatar-button,
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-profile-dropdown{
    pointer-events:auto!important;
  }

  /* Give the retained controls a subtle independent presence over page content. */
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-logo-mark{
    filter:drop-shadow(0 6px 14px rgba(17,18,20,.16));
  }
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-avatar-button{
    box-shadow:0 7px 18px rgba(17,18,20,.20)!important;
  }
}

@media (prefers-reduced-motion:reduce) and (min-width:1081px){
  .ccsws-masthead,
  .ccsws-masthead .ccsws-title{transition:none!important}
}

/* v1.7.9 — desktop footer must sit above the fixed left navigation rail.
   The sidebar remains fixed while browsing, but once the document footer enters
   the viewport the footer paints in front of it so the footer logo/title at the
   bottom-left are never covered. Tablet/mobile stacking is intentionally unchanged. */
@media (min-width:1081px){
  body.ccsws-active .ccsws-footer{
    position:relative!important;
    z-index:2147482500!important;
    isolation:isolate;
  }
}


/* v1.8.0 — desktop hidden-header/sidebar seam polish.
   Replace any dark seam below the retained logo panel with the same faint gray
   divider used by the rest of the shell. Tablet/mobile are intentionally untouched. */
@media (min-width:1081px){
  .ccsws-masthead.ccsws-desktop-header-hidden::before{
    box-sizing:border-box!important;
    border-bottom:1px solid var(--ccsws-line)!important;
  }
  .ccsws-desktop-sidebar{
    border-top:0!important;
  }
}


/* v1.8.1 — mobile/tablet center navigation is Messages, not Create.
   Desktop sidebar/create UI is intentionally untouched. */
@media (max-width:1080px){
  .ccsws-mobile-create.ccsws-mobile-messages::before{
    content:none!important;
    display:none!important;
  }
  .ccsws-mobile-create.ccsws-mobile-messages{
    background:transparent!important;
    color:#18191c!important;
    border:0!important;
    box-shadow:none!important;
    margin:0!important;
  }
  .ccsws-mobile-create.ccsws-mobile-messages svg{
    width:29px!important;
    height:29px!important;
    position:static!important;
    z-index:auto!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .ccsws-mobile-create.ccsws-mobile-messages.is-active{
    background:rgba(17,18,20,.09)!important;
    color:#090a0c!important;
  }
  .ccsws-mobile-message-badge{
    position:absolute!important;
    top:2px!important;
    right:1px!important;
    z-index:3!important;
    min-width:19px!important;
    height:19px!important;
    padding:0 5px!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#DA31D6!important;
    color:#fff!important;
    border:2px solid rgba(255,255,255,.96)!important;
    font:900 9px/1 Arial,sans-serif!important;
    box-shadow:0 3px 8px rgba(218,49,214,.24)!important;
  }
}
@media (max-width:520px){
  .ccsws-mobile-create.ccsws-mobile-messages svg{
    width:27px!important;
    height:27px!important;
  }
}


/* v1.8.2 — desktop profile avatar is part of the masthead, not a retained
   sticky/floating control. Mobile/tablet behavior is intentionally unchanged.
   On desktop scroll-down it vanishes with the header state; scroll-up restores it. */
@media (min-width:1081px){
  .ccsws-masthead .ccsws-account-area,
  .ccsws-masthead .ccsws-profile-menu,
  .ccsws-masthead .ccsws-avatar-button{
    transition:
      opacity .16s ease,
      transform .20s ease,
      visibility 0s linear 0s!important;
  }

  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-account-area{
    opacity:0!important;
    visibility:hidden!important;
    transform:translate3d(0,-115%,0)!important;
    pointer-events:none!important;
  }

  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-profile-menu,
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-avatar-button,
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-profile-dropdown{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Override the older retained-avatar desktop rule. */
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-avatar-button{
    box-shadow:none!important;
  }
}

@media (prefers-reduced-motion:reduce) and (min-width:1081px){
  .ccsws-masthead .ccsws-account-area,
  .ccsws-masthead .ccsws-profile-menu,
  .ccsws-masthead .ccsws-avatar-button{
    transition:none!important;
  }
}


/* v1.8.3 — mobile/tablet center Messages icon matches the other dock icons.
   The message badge is independent from the Notifications badge. */
@media (max-width:1080px){
  .ccsws-mobile-create.ccsws-mobile-messages svg{
    width:25px!important;
    height:25px!important;
  }
  .ccsws-mobile-create.ccsws-mobile-messages{
    position:relative!important;
  }
  .ccsws-mobile-message-badge{
    position:absolute!important;
    top:5px!important;
    right:5px!important;
    z-index:6!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:18px!important;
    height:18px!important;
    padding:0 4px!important;
    border-radius:999px!important;
    box-sizing:border-box!important;
    background:#DA31D6!important;
    color:#fff!important;
    border:2px solid #fff!important;
    font:900 9px/1 Arial,sans-serif!important;
    letter-spacing:-.02em!important;
    box-shadow:0 2px 7px rgba(218,49,214,.30)!important;
    pointer-events:none!important;
  }
}
@media (max-width:520px){
  .ccsws-mobile-create.ccsws-mobile-messages svg{
    width:24px!important;
    height:24px!important;
  }
  .ccsws-mobile-message-badge{
    top:6px!important;
    right:6px!important;
    min-width:17px!important;
    height:17px!important;
    font-size:8px!important;
  }
}

/* v1.8.4 — My Profile/Connections navigation, centered mobile profile action,
   bottom-right Messages, and the sitewide desktop Create Post modal. */
.ccsws-sidebar-icon-connections{background:#0f8f78}

/* The center dock action is now My Profile. Keep it visually primary with a
   simple Conservative Connect red circle and a crisp white profile glyph. */
@media (max-width:1080px){
  .ccsws-mobile-create.ccsws-mobile-profile::before{
    content:none!important;
    display:none!important;
  }
  .ccsws-mobile-create.ccsws-mobile-profile{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    border-radius:50%!important;
    background:var(--ccsws-red)!important;
    color:#fff!important;
    border:0!important;
    box-shadow:0 7px 18px rgba(218,49,214,.28)!important;
  }
  .ccsws-mobile-create.ccsws-mobile-profile svg{
    width:25px!important;
    height:25px!important;
    position:static!important;
    fill:none!important;
    stroke:#fff!important;
    stroke-width:2.15!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  .ccsws-mobile-create.ccsws-mobile-profile.is-active{
    background:var(--ccsws-red)!important;
    color:#fff!important;
    box-shadow:0 7px 20px rgba(218,49,214,.34),0 0 0 3px rgba(218,49,214,.10)!important;
  }

  /* Messages moves to the standard bottom-right slot and uses the chat icon. */
  .ccsws-mobile-link.ccsws-mobile-messages{
    position:relative!important;
    background:transparent!important;
    color:#18191c!important;
  }
  .ccsws-mobile-link.ccsws-mobile-messages svg{
    width:25px!important;
    height:25px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
  }
  .ccsws-mobile-link.ccsws-mobile-messages.is-active{
    color:var(--ccsws-red)!important;
    background:rgba(218,49,214,.08)!important;
  }
  .ccsws-mobile-link.ccsws-mobile-messages .ccsws-mobile-message-badge{
    top:1px!important;
    right:0!important;
  }

  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-create.ccsws-mobile-profile{
    width:43px!important;
    height:43px!important;
    min-width:43px!important;
    min-height:43px!important;
  }
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-create.ccsws-mobile-profile svg{
    width:23px!important;
    height:23px!important;
  }
}
@media (max-width:520px){
  .ccsws-mobile-create.ccsws-mobile-profile{
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
  }
  .ccsws-mobile-create.ccsws-mobile-profile svg{
    width:24px!important;
    height:24px!important;
  }
}

/* Desktop Create Post modal. The form itself is rendered by Media Posts through
   [conservative_connect_composer], so uploads/posting use the exact same logic as
   the member profile composer instead of maintaining a second posting system. */
body.ccsws-create-post-open{overflow:hidden!important}
.ccsws-create-post-modal,
.ccsws-create-post-modal *{box-sizing:border-box}
.ccsws-create-post-modal{
  position:fixed;
  inset:0;
  z-index:2147483500;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease,visibility .16s ease;
}
.ccsws-create-post-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.ccsws-create-post-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:rgba(12,13,16,.58);
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
  cursor:default;
}
.ccsws-create-post-dialog{
  position:relative;
  z-index:1;
  width:min(100%,650px);
  max-height:min(88vh,760px);
  overflow:auto;
  background:#fff;
  border:1px solid #e2e4e8;
  border-radius:24px;
  box-shadow:0 28px 90px rgba(0,0,0,.28);
  color:#17181b;
  transform:translateY(8px) scale(.985);
  transition:transform .16s ease;
  outline:0;
}
.ccsws-create-post-modal.is-open .ccsws-create-post-dialog{transform:none}
.ccsws-create-post-header{
  position:sticky;
  top:0;
  z-index:4;
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px 13px 22px;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid #eceef1;
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.ccsws-create-post-header h2{
  margin:0!important;
  color:#17181b!important;
  font:800 21px/1.1 Arial,sans-serif!important;
  letter-spacing:-.02em;
}
.ccsws-create-post-close{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0 0 2px;
  border:0;
  border-radius:50%;
  background:#f1f2f4;
  color:#202226;
  font:400 27px/1 Arial,sans-serif;
  cursor:pointer;
}
.ccsws-create-post-close:hover{background:#e7e9ed}
.ccsws-create-post-body{padding:18px}
.ccsws-create-post-body .ccmp-standalone-composer[data-ccmp-composer]{
  margin:0!important;
  padding:18px!important;
  border:1px solid #e5e7eb!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
.ccsws-create-post-body .ccmp-standalone-composer textarea{
  min-height:130px!important;
  font-size:16px!important;
  line-height:1.45!important;
}
.ccsws-create-post-body .ccmp-standalone-composer .ccmp-submit{
  min-width:104px!important;
  min-height:46px!important;
  padding:0 22px!important;
  border-radius:14px!important;
  font-size:15px!important;
}

@media(max-width:720px){
  .ccsws-create-post-modal{padding:14px}
  .ccsws-create-post-dialog{width:100%;max-height:calc(100dvh - 28px);border-radius:20px}
  .ccsws-create-post-header{min-height:58px;padding:11px 14px 10px 18px}
  .ccsws-create-post-header h2{font-size:19px!important}
  .ccsws-create-post-body{padding:12px}
  .ccsws-create-post-body .ccmp-standalone-composer[data-ccmp-composer]{padding:14px!important;border-radius:16px!important}
  .ccsws-create-post-body .ccmp-standalone-composer textarea{min-height:112px!important}
}

@media(prefers-reduced-motion:reduce){
  .ccsws-create-post-modal,
  .ccsws-create-post-dialog{transition:none!important}
}
@media (max-width:1080px){
  .ccsws-mobile-create.ccsws-mobile-profile > span{display:none!important}
}


/* v1.8.6 — brighter center My Profile action without the neon treatment.
   Keeps a clean accent border and soft depth so the control remains inviting. */
@media (max-width:520px){
  .ccsws-mobile-nav .ccsws-mobile-create.ccsws-mobile-profile{
    top:-4px!important;
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    min-height:50px!important;
    border:2px solid #DA31D6!important;
    background:#DA31D6!important;
    color:#fff!important;
    box-shadow:0 7px 16px rgba(218,49,214,.24)!important;
  }
  .ccsws-mobile-nav .ccsws-mobile-create.ccsws-mobile-profile svg{
    width:26px!important;
    height:26px!important;
    stroke:#fff!important;
    stroke-width:2.2!important;
  }
  .ccsws-mobile-nav .ccsws-mobile-create.ccsws-mobile-profile.is-active{
    border-color:#DA31D6!important;
    background:#DA31D6!important;
    box-shadow:0 8px 18px rgba(218,49,214,.28)!important;
  }

  /* Keep the center profile action prominent when the dock compacts while
     preserving the same clean border and slight top-edge overlap. */
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-create.ccsws-mobile-profile{
    top:-4px!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    min-height:46px!important;
    border-radius:50%!important;
    border:2px solid #DA31D6!important;
    background:#DA31D6!important;
    box-shadow:0 6px 14px rgba(218,49,214,.22)!important;
  }
  .ccsws-mobile-nav.ccsws-nav-compact .ccsws-mobile-create.ccsws-mobile-profile svg{
    width:24px!important;
    height:24px!important;
  }
}
\n\n/* v1.8.7 — mobile/tablet bottom-right action is Notifications instead of Messages.\n   Keep the bell visually consistent with the other dock actions and retain a\n   compact unread badge when notifications are waiting. */\n@media (max-width:1080px){\n  .ccsws-mobile-link.ccsws-mobile-notifications{\n    position:relative!important;\n    background:transparent!important;\n    color:#18191c!important;\n  }\n  .ccsws-mobile-link.ccsws-mobile-notifications svg{\n    width:25px!important;\n    height:25px!important;\n    fill:none!important;\n    stroke:currentColor!important;\n    stroke-width:1.9!important;\n    stroke-linecap:round!important;\n    stroke-linejoin:round!important;\n  }\n  .ccsws-mobile-link.ccsws-mobile-notifications.is-active{\n    color:var(--ccsws-red)!important;\n    background:rgba(218,49,214,.08)!important;\n  }\n  .ccsws-mobile-link.ccsws-mobile-notifications .ccsws-mobile-notification-badge{\n    position:absolute!important;\n    top:1px!important;\n    right:0!important;\n    z-index:6!important;\n    display:flex!important;\n    align-items:center!important;\n    justify-content:center!important;\n    min-width:18px!important;\n    height:18px!important;\n    padding:0 4px!important;\n    margin:0!important;\n    border-radius:999px!important;\n    box-sizing:border-box!important;\n    background:#DA31D6!important;\n    color:#fff!important;\n    border:2px solid #fff!important;\n    font:900 9px/1 Arial,sans-serif!important;\n    letter-spacing:-.02em!important;\n    box-shadow:0 2px 7px rgba(218,49,214,.30)!important;\n    pointer-events:none!important;\n  }\n}\n@media (max-width:520px){\n  .ccsws-mobile-link.ccsws-mobile-notifications svg{\n    width:24px!important;\n    height:24px!important;\n  }\n  .ccsws-mobile-link.ccsws-mobile-notifications .ccsws-mobile-notification-badge{\n    top:2px!important;\n    right:1px!important;\n    min-width:17px!important;\n    height:17px!important;\n    font-size:8px!important;\n  }\n}\n

/* v2.0.0 — Conservative Smokeshows rebrand and navigation model */
:root{
  --ccsws-red:#DA31D6;
  --ccsws-red-deep:#B81DB5;
  --ccsws-red-bright:#EF54EB;
  --ccsws-pink:#DA31D6;
  --ccsws-header-height:72px;
}

.ccsws-masthead{
  background:#DA31D6!important;
  border-bottom:1px solid rgba(92,0,89,.22)!important;
  box-shadow:0 7px 24px rgba(92,0,89,.18)!important;
}
.ccsws-header-inner{
  width:min(calc(100% - 32px),1480px)!important;
  grid-template-columns:56px minmax(0,1fr) 56px!important;
  gap:14px!important;
}
.ccsws-home-user{
  justify-self:start;display:grid;place-items:center;width:48px;height:48px;
  color:#fff!important;text-decoration:none!important;border-radius:12px;
}
.ccsws-home-user svg{width:31px;height:31px;fill:#fff!important;stroke:#fff!important;stroke-width:1.8}
.ccsws-smokeshows-logo{
  width:min(760px,calc(100vw - 180px))!important;
  height:64px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:visible!important;text-shadow:none!important;
}
.ccsws-smokeshows-logo img{
  display:block!important;width:auto!important;height:56px!important;max-width:100%!important;
  object-fit:contain!important;object-position:center!important;
}
.ccsws-hamburger-menu{justify-self:end!important}
.ccsws-hamburger-button{
  width:48px!important;height:48px!important;border:0!important;border-radius:12px!important;
  padding:10px!important;background:transparent!important;box-shadow:none!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;gap:6px!important;
  overflow:visible!important;
}
.ccsws-hamburger-button>span:not(.ccsws-notification-badge){display:block;width:100%;height:4px;border-radius:3px;background:#fff}
.ccsws-hamburger-button:hover,.ccsws-hamburger-button:focus{background:rgba(255,255,255,.10)!important}
.ccsws-avatar-notification-badge{background:#111!important;color:#fff!important;border-color:#DA31D6!important}
.ccsws-profile-dropdown{right:0!important}
.ccsws-profile-dropdown a:hover,.ccsws-profile-dropdown a:focus{background:#fbf0fb!important}
.ccsws-profile-dropdown svg{color:#DA31D6!important}

/* Sidebar stays present on tablets and desktops, but not phones. */
.ccsws-desktop-sidebar{display:none!important}
@media (min-width:768px){
  :root{--ccsws-sidebar-width:224px}
  .ccsws-desktop-sidebar{
    display:flex!important;position:fixed!important;z-index:2147482000!important;
    top:var(--ccsws-header-height)!important;bottom:0!important;left:0!important;
    width:var(--ccsws-sidebar-width)!important;padding:24px 14px 28px!important;
    flex-direction:column!important;background:#fff!important;border-right:1px solid var(--ccsws-line)!important;
    box-shadow:8px 0 28px rgba(17,18,20,.035)!important;overflow-y:auto!important;
  }
  .admin-bar .ccsws-desktop-sidebar{top:calc(var(--ccsws-header-height) + 32px)!important}
  .ccsws-sidebar-nav{display:flex!important;flex-direction:column!important;gap:9px!important}
  .ccsws-sidebar-link{min-height:54px!important;gap:12px!important;padding:7px 10px!important;font-size:15px!important}
  .ccsws-sidebar-icon{width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:13px!important;background:#DA31D6!important;color:#fff!important}
  .ccsws-sidebar-icon-home,.ccsws-sidebar-icon-explore,.ccsws-sidebar-icon-members,.ccsws-sidebar-icon-messages,.ccsws-sidebar-icon-connections,.ccsws-sidebar-icon-notifications,.ccsws-sidebar-icon-profile{background:#DA31D6!important}
  .ccsws-sidebar-link:hover,.ccsws-sidebar-link:focus,.ccsws-sidebar-link.is-active{background:#f8edf8!important;color:#111!important}
  .ccsws-sidebar-create{display:none!important}
  body.ccsws-active .ccsd-leftbar,body.ccsws-active .ccp-left{display:none!important}

  /* Keep page/plugin content clear of the shell rail at tablet widths too. */
  body.ccsws-active .ccsd-shell{
    width:calc(100% - var(--ccsws-sidebar-width))!important;
    margin-left:var(--ccsws-sidebar-width)!important;margin-right:auto!important;
    padding-left:20px!important;padding-right:20px!important;
  }
  body.ccsws-active .ccp-app{width:calc(100% - var(--ccsws-sidebar-width))!important;margin-left:var(--ccsws-sidebar-width)!important}
  body.ccsws-active .ccp-main{width:100%!important;margin:0 auto!important;padding-left:20px!important;padding-right:20px!important}
}

/* Mobile-only text navigation: black bar, no icons. */
@media (min-width:768px){
  .ccsws-mobile-nav{display:none!important}
  body.ccsws-active{padding-bottom:0!important}
  .ccsws-footer{padding-bottom:0!important}
}
@media (max-width:767px){
  :root{--ccsws-header-height:66px}
  body.ccsws-active{padding-bottom:62px!important}
  .ccsws-header-inner{width:calc(100% - 20px)!important;grid-template-columns:46px minmax(0,1fr) 46px!important;gap:8px!important}
  .ccsws-home-user{width:44px;height:44px}.ccsws-home-user svg{width:29px;height:29px}
  .ccsws-smokeshows-logo{width:100%!important;height:60px!important;min-width:0!important}
  .ccsws-smokeshows-logo img{height:48px!important;width:min(100%,520px)!important}
  .ccsws-account-area{min-width:44px!important}
  .ccsws-hamburger-button{width:44px!important;height:44px!important;padding:9px!important;gap:5px!important}
  .ccsws-hamburger-button>span:not(.ccsws-notification-badge){height:3px!important}
  .ccsws-desktop-sidebar{display:none!important}
  .ccsws-mobile-nav,.ccsws-text-mobile-nav{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:2147483200!important;
    height:62px!important;width:100%!important;padding:0 max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left))!important;
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:center!important;
    background:#000!important;border:0!important;border-radius:0!important;box-shadow:0 -7px 24px rgba(0,0,0,.18)!important;backdrop-filter:none!important;
  }
  .ccsws-text-mobile-nav .ccsws-mobile-link{
    height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;
    color:#fff!important;text-decoration:none!important;font:900 13px/1 Arial,sans-serif!important;
    white-space:nowrap!important;letter-spacing:-.01em!important;padding:0 4px!important;background:transparent!important;
  }
  .ccsws-text-mobile-nav .ccsws-mobile-link.is-active{color:#DA31D6!important}
  .ccsws-text-mobile-nav svg,.ccsws-text-mobile-nav .ccsws-mobile-create{display:none!important}
  .ccsws-mobile-nav.ccsws-nav-compact{width:100%!important;height:62px!important;bottom:0!important;padding:0 max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left))!important;border-radius:0!important;box-shadow:0 -7px 24px rgba(0,0,0,.18)!important}
  .ccsws-footer{padding-bottom:62px!important}
}
@media (max-width:390px){
  .ccsws-header-inner{width:calc(100% - 14px)!important;grid-template-columns:42px minmax(0,1fr) 42px!important;gap:5px!important}
  .ccsws-home-user,.ccsws-hamburger-button{width:40px!important;height:40px!important}
  .ccsws-smokeshows-logo img{height:44px!important}
  .ccsws-text-mobile-nav .ccsws-mobile-link{font-size:11.5px!important;padding:0 2px!important}
}

/* Footer brand/legal copy */
.ccsws-footer-inner{
  grid-template-columns:auto 1fr auto!important;
  grid-template-areas:"brand notice copy" "brand links copy"!important;
  align-items:center!important;
}
.ccsws-footer-brand{grid-area:brand!important}.ccsws-footer-age-notice{grid-area:notice!important}.ccsws-footer-links{grid-area:links!important}.ccsws-footer-copy{grid-area:copy!important}
.ccsws-footer-logo{display:block;width:230px;max-width:26vw}
.ccsws-footer-logo img{display:block;width:100%;height:auto;object-fit:contain}
.ccsws-footer-age-notice{color:#9da1a8;font:400 10.5px/1.45 Arial,sans-serif;text-align:center;max-width:760px;margin:0 auto 7px}
.ccsws-footer-age-notice a{color:#bfc2c7!important;text-decoration:underline!important;text-underline-offset:2px}
.ccsws-footer-links a{color:#d6d8dc!important}
.ccsws-footer-links a:hover,.ccsws-footer-age-notice a:hover{color:#fff!important}
@media(max-width:820px){
  .ccsws-footer-inner{grid-template-columns:1fr!important;grid-template-areas:"brand" "notice" "links" "copy"!important;justify-items:center!important;text-align:center!important}
  .ccsws-footer-logo{width:260px;max-width:78vw}
  .ccsws-footer-age-notice{font-size:10px;max-width:680px;padding:0 4px}
}


/* v2.0.1 — slimmer masthead, refined brand scale, and scroll-aware desktop/tablet rail. */
:root{--ccsws-header-height:64px!important}
.ccsws-masthead{height:var(--ccsws-header-height)!important}
.ccsws-header-inner{
  width:min(calc(100% - 28px),1480px)!important;
  grid-template-columns:48px minmax(0,1fr) 48px!important;
  gap:12px!important;
}
.ccsws-home-user{width:42px!important;height:42px!important;border-radius:11px!important}
.ccsws-home-user svg{width:27px!important;height:27px!important}
.ccsws-hamburger-button{width:42px!important;height:42px!important;padding:9px!important;gap:5px!important}
.ccsws-hamburger-button>span:not(.ccsws-notification-badge){height:3px!important}
.ccsws-smokeshows-logo{height:56px!important;width:min(690px,calc(100vw - 168px))!important}
.ccsws-smokeshows-logo img{height:48px!important;max-height:48px!important;width:auto!important;max-width:100%!important}

@media (min-width:768px){
  .ccsws-desktop-sidebar{
    top:var(--ccsws-header-height)!important;
    padding-top:20px!important;
    transition:top .2s ease,padding-top .2s ease!important;
  }
  .admin-bar .ccsws-desktop-sidebar{top:calc(var(--ccsws-header-height) + 32px)!important}
  body.ccsws-desktop-header-collapsed .ccsws-desktop-sidebar{
    top:10px!important;
    padding-top:8px!important;
  }
  body.admin-bar.ccsws-desktop-header-collapsed .ccsws-desktop-sidebar{top:42px!important}
  body.ccsws-desktop-header-collapsed .ccsws-sidebar-nav{margin-top:0!important}
}

@media (max-width:1080px){
  :root{--ccsws-header-height:60px!important}
  .ccsws-header-inner{width:calc(100% - 22px)!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:8px!important}
  .ccsws-home-user,.ccsws-hamburger-button{width:40px!important;height:40px!important}
  .ccsws-home-user svg{width:25px!important;height:25px!important}
  .ccsws-smokeshows-logo{height:52px!important;width:min(610px,calc(100vw - 132px))!important}
  .ccsws-smokeshows-logo img{height:44px!important;max-height:44px!important}
}
@media (max-width:520px){
  :root{--ccsws-header-height:58px!important}
  .ccsws-header-inner{width:calc(100% - 18px)!important;grid-template-columns:40px minmax(0,1fr) 40px!important;gap:5px!important}
  .ccsws-home-user,.ccsws-hamburger-button{width:38px!important;height:38px!important}
  .ccsws-smokeshows-logo{height:50px!important;width:calc(100vw - 112px)!important}
  .ccsws-smokeshows-logo img{height:41px!important;max-height:41px!important}
}


/* v2.0.2 — updated supplied Conservative Smokeshows logo with smaller flame. */
.ccsws-smokeshows-logo img{
  object-fit:contain!important;
  object-position:center!important;
}

/* v2.0.3 — extra-slim masthead and flush scroll-sticky sidebar. */
:root{--ccsws-header-height:54px!important}
.ccsws-masthead{height:var(--ccsws-header-height)!important}
.ccsws-header-inner{
  width:min(calc(100% - 24px),1480px)!important;
  grid-template-columns:42px minmax(0,1fr) 42px!important;
  gap:9px!important;
}
.ccsws-home-user,.ccsws-hamburger-button{width:36px!important;height:36px!important}
.ccsws-home-user svg{width:23px!important;height:23px!important}
.ccsws-hamburger-button{padding:8px!important;gap:4px!important}
.ccsws-hamburger-button>span:not(.ccsws-notification-badge){height:3px!important}
.ccsws-smokeshows-logo{height:48px!important;width:min(630px,calc(100vw - 150px))!important}
.ccsws-smokeshows-logo img{height:41px!important;max-height:41px!important}

@media (min-width:768px){
  .ccsws-desktop-sidebar{
    top:var(--ccsws-header-height)!important;
    padding-top:14px!important;
    transition:top .18s ease,padding-top .18s ease!important;
  }
  .admin-bar .ccsws-desktop-sidebar{top:calc(var(--ccsws-header-height) + 32px)!important}
  body.ccsws-desktop-header-collapsed .ccsws-desktop-sidebar{
    top:0!important;
    padding-top:8px!important;
  }
  body.admin-bar.ccsws-desktop-header-collapsed .ccsws-desktop-sidebar{top:32px!important}
  body.ccsws-desktop-header-collapsed .ccsws-sidebar-nav{
    margin-top:0!important;
    padding-top:0!important;
  }
  /* Nothing should reserve the vanished masthead's height above the rail. */
  body.ccsws-desktop-header-collapsed .ccsws-desktop-sidebar:before,
  body.ccsws-desktop-header-collapsed .ccsws-sidebar-nav:before{display:none!important;content:none!important}
}

@media (max-width:1080px){
  :root{--ccsws-header-height:52px!important}
  .ccsws-header-inner{width:calc(100% - 18px)!important;grid-template-columns:40px minmax(0,1fr) 40px!important;gap:7px!important}
  .ccsws-home-user,.ccsws-hamburger-button{width:35px!important;height:35px!important}
  .ccsws-home-user svg{width:22px!important;height:22px!important}
  .ccsws-smokeshows-logo{height:46px!important;width:min(570px,calc(100vw - 122px))!important}
  .ccsws-smokeshows-logo img{height:39px!important;max-height:39px!important}
}
@media (max-width:520px){
  :root{--ccsws-header-height:50px!important}
  .ccsws-header-inner{width:calc(100% - 14px)!important;grid-template-columns:36px minmax(0,1fr) 36px!important;gap:4px!important}
  .ccsws-home-user,.ccsws-hamburger-button{width:33px!important;height:33px!important}
  .ccsws-smokeshows-logo{height:44px!important;width:calc(100vw - 100px)!important}
  .ccsws-smokeshows-logo img{height:37px!important;max-height:37px!important}
}


/* v2.0.4 — slim, icon-led mobile dock for Conservative Smokeshows. */
@media (max-width:767px){
  body.ccsws-active{padding-bottom:58px!important}
  .ccsws-footer{padding-bottom:58px!important}

  #ccsws-mobile-nav.ccsws-app-mobile-nav,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:2147483200!important;
    width:100%!important;
    height:calc(54px + env(safe-area-inset-bottom))!important;
    min-height:54px!important;
    padding:3px max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left))!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:2px!important;
    background:#050505!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    border-radius:0!important;
    box-shadow:0 -5px 18px rgba(0,0,0,.16)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    transform:none!important;
  }

  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link{
    min-width:0!important;
    height:50px!important;
    margin:0!important;
    padding:4px 2px 3px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    border-radius:9px!important;
    background:transparent!important;
    color:rgba(255,255,255,.82)!important;
    text-decoration:none!important;
    font:800 10.5px/1.05 Arial,sans-serif!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    opacity:1!important;
    transform:none!important;
  }

  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link svg,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link svg{
    display:block!important;
    width:20px!important;
    height:20px!important;
    flex:0 0 20px!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:1.9!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    opacity:1!important;
    transform:none!important;
  }

  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link span{
    display:block!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link.is-active{
    color:#fff!important;
    background:rgba(218,49,214,.18)!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link.is-active svg{
    color:#DA31D6!important;
    stroke:#DA31D6!important;
  }

  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-create,
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-message-badge,
  #ccsws-mobile-nav.ccsws-app-mobile-nav:before,
  #ccsws-mobile-nav.ccsws-app-mobile-nav:after{display:none!important}
}

@media (max-width:360px){
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link{
    font-size:9.5px!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link svg,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link svg{
    width:19px!important;height:19px!important;flex-basis:19px!important;
  }
}

/* v2.0.5 — full-size trimmed logo + dashboard handoff cleanup. */
:root{--ccsws-header-height:54px!important}
.ccsws-masthead{height:var(--ccsws-header-height)!important}
.ccsws-smokeshows-logo{
  width:min(760px,calc(100vw - 130px))!important;
  height:50px!important;
  min-width:0!important;
}
.ccsws-smokeshows-logo img{
  display:block!important;
  width:auto!important;
  height:44px!important;
  max-width:100%!important;
  max-height:44px!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* The dashboard plugin positions itself around the fixed shell rail.
   Do not apply a second shell-level offset to the dashboard. */
@media (min-width:768px){
  body.ccsws-active .ccsd-shell,
  body.ccsws-active .ccsd-shell.ccsd-smokeshows-dashboard{
    margin-left:0!important;
  }
}

@media (max-width:1080px){
  :root{--ccsws-header-height:52px!important}
  .ccsws-smokeshows-logo{height:48px!important;width:min(680px,calc(100vw - 106px))!important}
  .ccsws-smokeshows-logo img{height:42px!important;max-height:42px!important}
}
@media (max-width:520px){
  :root{--ccsws-header-height:50px!important}
  .ccsws-smokeshows-logo{height:46px!important;width:calc(100vw - 88px)!important}
  .ccsws-smokeshows-logo img{height:40px!important;max-height:40px!important}
}


/* v2.0.6 — medium masthead logo, stable tablet rail icons, and dashboard handoff. */
:root{--ccsws-header-height:64px!important}
.ccsws-masthead{height:var(--ccsws-header-height)!important}
.ccsws-header-inner{
  width:min(calc(100% - 24px),1480px)!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  gap:10px!important;
}
.ccsws-home-user,.ccsws-hamburger-button{width:38px!important;height:38px!important}
.ccsws-home-user svg{width:25px!important;height:25px!important}
.ccsws-smokeshows-logo{
  width:min(820px,calc(100vw - 132px))!important;
  height:60px!important;
}
.ccsws-smokeshows-logo img{
  width:auto!important;
  height:56px!important;
  max-height:56px!important;
  max-width:100%!important;
}

/* Keep the desktop/tablet rail compact and prevent theme SVG rules from
   blowing the navigation icons up at intermediate viewport widths. */
@media (min-width:768px){
  :root{--ccsws-sidebar-width:224px!important}
  .ccsws-desktop-sidebar{
    width:var(--ccsws-sidebar-width)!important;
    padding:16px 14px 26px!important;
  }
  .ccsws-sidebar-nav{gap:8px!important}
  .ccsws-sidebar-link{
    min-height:56px!important;
    gap:12px!important;
    padding:7px 10px!important;
    font-size:15px!important;
  }
  .ccsws-sidebar-icon{
    width:42px!important;height:42px!important;flex:0 0 42px!important;
    min-width:42px!important;min-height:42px!important;
    border-radius:13px!important;
  }
  .ccsws-sidebar-icon svg{
    display:block!important;
    width:23px!important;height:23px!important;
    min-width:23px!important;min-height:23px!important;
    max-width:23px!important;max-height:23px!important;
    fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;
  }
  .ccsws-sidebar-label{font-size:15px!important;line-height:1.1!important}

  /* The dashboard plugin owns its own one-time sidebar offset. Older shell
     rules must not add another 224px margin/width reduction underneath it. */
  body.ccsws-active.ccsd-dashboard-page .ccsd-shell,
  body.ccsws-active.ccsd-dashboard-page .ccsd-shell.ccsd-smokeshows-dashboard{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* A slightly tighter tablet rail keeps labels and icons proportional without
   changing the full desktop treatment. */
@media (min-width:768px) and (max-width:1080px){
  :root{--ccsws-sidebar-width:190px!important;--ccsws-header-height:60px!important}
  .ccsws-header-inner{grid-template-columns:42px minmax(0,1fr) 42px!important}
  .ccsws-smokeshows-logo{height:56px!important;width:min(700px,calc(100vw - 118px))!important}
  .ccsws-smokeshows-logo img{height:52px!important;max-height:52px!important}
  .ccsws-desktop-sidebar{padding:14px 10px 22px!important}
  .ccsws-sidebar-link{min-height:52px!important;gap:10px!important;padding:6px 8px!important;font-size:14px!important}
  .ccsws-sidebar-icon{width:38px!important;height:38px!important;flex-basis:38px!important;min-width:38px!important;min-height:38px!important;border-radius:12px!important}
  .ccsws-sidebar-icon svg{width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important;max-width:21px!important;max-height:21px!important}
  .ccsws-sidebar-label{font-size:14px!important}
}

@media (max-width:767px){
  :root{--ccsws-header-height:58px!important}
  .ccsws-header-inner{width:calc(100% - 16px)!important;grid-template-columns:38px minmax(0,1fr) 38px!important;gap:5px!important}
  .ccsws-home-user,.ccsws-hamburger-button{width:34px!important;height:34px!important}
  .ccsws-smokeshows-logo{height:54px!important;width:calc(100vw - 96px)!important}
  .ccsws-smokeshows-logo img{height:49px!important;max-height:49px!important}
}

/* v2.0.7 — larger readable masthead wordmark without increasing bar height.
   The bundled PNG is tightly cropped to the visible artwork so the CSS height
   is spent on the logo itself instead of transparent canvas. */
.ccsws-smokeshows-logo{
  padding:0!important;
  margin:0!important;
  min-width:0!important;
  align-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.ccsws-smokeshows-logo img{
  display:block!important;
  width:auto!important;
  height:50px!important;
  max-height:calc(var(--ccsws-header-height) - 8px)!important;
  max-width:min(760px,calc(100vw - 118px))!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media (min-width:768px) and (max-width:1080px){
  .ccsws-smokeshows-logo img{
    height:48px!important;
    max-height:calc(var(--ccsws-header-height) - 7px)!important;
    max-width:min(650px,calc(100vw - 104px))!important;
  }
}
@media (max-width:767px){
  .ccsws-smokeshows-logo{
    width:calc(100vw - 88px)!important;
    height:var(--ccsws-header-height)!important;
  }
  .ccsws-smokeshows-logo img{
    height:46px!important;
    max-height:calc(var(--ccsws-header-height) - 6px)!important;
    max-width:100%!important;
  }
}
@media (max-width:390px){
  .ccsws-smokeshows-logo img{height:43px!important}
}

/* v2.0.8 — make the Smokeshows wordmark visually comparable to the old
   Conservative Connect masthead title. Size it by WIDTH (not image height),
   because the wordmark is extremely wide and otherwise reads too small. */
.ccsws-smokeshows-logo{
  width:auto!important;
  max-width:none!important;
  height:var(--ccsws-header-height)!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
}
.ccsws-smokeshows-logo img{
  width:clamp(380px,32vw,540px)!important;
  height:auto!important;
  max-width:calc(100vw - 150px)!important;
  max-height:calc(var(--ccsws-header-height) - 6px)!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* Tablet / small desktop: stay prominent, but always leave room for the
   account and hamburger controls. */
@media (min-width:768px) and (max-width:1080px){
  .ccsws-smokeshows-logo img{
    width:clamp(330px,43vw,460px)!important;
    max-width:calc(100vw - 126px)!important;
    max-height:calc(var(--ccsws-header-height) - 6px)!important;
  }
}

/* Phones: use nearly all of the center lane. This is intentionally much
   larger than the prior build while keeping the masthead height unchanged. */
@media (max-width:767px){
  .ccsws-smokeshows-logo{
    width:auto!important;
    max-width:none!important;
    height:var(--ccsws-header-height)!important;
  }
  .ccsws-smokeshows-logo img{
    width:clamp(265px,72vw,360px)!important;
    max-width:calc(100vw - 92px)!important;
    height:auto!important;
    max-height:calc(var(--ccsws-header-height) - 6px)!important;
  }
}
@media (max-width:390px){
  .ccsws-smokeshows-logo img{
    width:72vw!important;
    max-width:calc(100vw - 86px)!important;
  }
}


/* v2.0.9 — wordmark fills the existing masthead height. The bar does not grow.
   Below 1200px the left rail is hidden (same as phones) because intermediate
   widths were losing icon color, tile, and label styles. Desktop keeps the rail. */
.ccsws-smokeshows-logo{
  height:100%!important;
  max-height:var(--ccsws-header-height)!important;
  width:min(920px,calc(100vw - 96px))!important;
  max-width:calc(100vw - 96px)!important;
  min-width:0!important;
  align-self:stretch!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:0!important;
  margin:0!important;
}
.ccsws-smokeshows-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
}

@media (max-width:1199px){
  #ccsws-desktop-sidebar{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.ccsws-active .ccsd-shell,
  body.ccsws-active .ccsd-shell.ccsd-smokeshows-dashboard,
  body.ccsws-active .ccp-app,
  body.ccsws-active > #page,
  body.ccsws-active > .site,
  body.ccsws-active > .wp-site-blocks{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
  }
  body.ccsws-active{padding-bottom:calc(54px + env(safe-area-inset-bottom))!important}
  .ccsws-footer{padding-bottom:calc(54px + env(safe-area-inset-bottom))!important}

  #ccsws-mobile-nav.ccsws-app-mobile-nav{
    display:grid!important;
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;
    z-index:2147483200!important;
    width:100%!important;
    height:calc(54px + env(safe-area-inset-bottom))!important;
    min-height:54px!important;
    padding:3px max(10px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(10px,env(safe-area-inset-left))!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:2px!important;
    transform:none!important;
    background:#050505!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    border-radius:0!important;
    box-shadow:0 -5px 18px rgba(0,0,0,.16)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link{
    min-width:0!important;
    height:50px!important;
    margin:0!important;
    padding:4px 2px 3px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    border-radius:9px!important;
    background:transparent!important;
    color:rgba(255,255,255,.82)!important;
    text-decoration:none!important;
    font:800 11px/1.05 Arial,sans-serif!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    opacity:1!important;
    transform:none!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link svg{
    display:block!important;
    width:20px!important;height:20px!important;flex:0 0 20px!important;
    fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;
    stroke-linecap:round!important;stroke-linejoin:round!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link span{
    display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link.is-active{
    color:#fff!important;background:rgba(218,49,214,.18)!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link.is-active svg{
    stroke:#DA31D6!important;color:#DA31D6!important;
  }
}

@media (min-width:1200px){
  #ccsws-mobile-nav{display:none!important}
  #ccsws-desktop-sidebar{
    display:flex!important;
    visibility:visible!important;
    pointer-events:auto!important;
    position:fixed!important;
    z-index:2147482000!important;
    top:var(--ccsws-header-height)!important;
    bottom:0!important;left:0!important;
    width:224px!important;
    flex-direction:column!important;
    padding:16px 14px 26px!important;
    background:#fff!important;
    border-right:1px solid #e4e6ea!important;
    box-shadow:8px 0 28px rgba(17,18,20,.035)!important;
    overflow-y:auto!important;
    color:#17181b!important;
  }
  .admin-bar #ccsws-desktop-sidebar{top:calc(var(--ccsws-header-height) + 32px)!important}
  #ccsws-desktop-sidebar .ccsws-sidebar-nav{
    display:flex!important;flex-direction:column!important;gap:8px!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-link{
    min-height:56px!important;
    display:flex!important;align-items:center!important;gap:12px!important;
    padding:7px 10px!important;border-radius:16px!important;
    color:#17181b!important;text-decoration:none!important;
    font:800 15px/1.1 Arial,sans-serif!important;
    background:transparent!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-link:hover,
  #ccsws-desktop-sidebar .ccsws-sidebar-link:focus,
  #ccsws-desktop-sidebar .ccsws-sidebar-link.is-active{
    background:#f8edf8!important;color:#111!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-icon{
    width:42px!important;height:42px!important;flex:0 0 42px!important;
    min-width:42px!important;min-height:42px!important;
    display:grid!important;place-items:center!important;
    border-radius:13px!important;
    background:#DA31D6!important;color:#fff!important;
    box-shadow:0 7px 16px rgba(218,49,214,.22)!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-icon svg{
    display:block!important;
    width:22px!important;height:22px!important;
    min-width:22px!important;min-height:22px!important;
    max-width:22px!important;max-height:22px!important;
    fill:none!important;stroke:#fff!important;stroke-width:1.9!important;
    stroke-linecap:round!important;stroke-linejoin:round!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-label{
    display:block!important;color:#17181b!important;
    font:800 15px/1.1 Arial,sans-serif!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-link.is-active .ccsws-sidebar-label,
  #ccsws-desktop-sidebar .ccsws-sidebar-link:hover .ccsws-sidebar-label{
    color:#111!important;
  }
}


/* v2.0.10 — wordmark stays inside the center lane (never under Log In / Join),
   and the tablet/phone dock labels use the full item width. Bar height unchanged. */
.ccsws-header-inner{
  grid-template-columns:auto minmax(0,1fr) auto!important;
}
.ccsws-home-user,.ccsws-account-area,.ccsws-hamburger-menu{min-width:0!important}
.ccsws-smokeshows-logo{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
  max-height:var(--ccsws-header-height)!important;
  overflow:hidden!important;
}
.ccsws-smokeshows-logo img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media (max-width:1199px){
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link span{
    overflow:visible!important;
    text-overflow:clip!important;
  }
}


/* v2.0.11 — absolutely fitted wordmark so a wide PNG cannot stretch the header
   lane or slide under the account buttons. */
.ccsws-smokeshows-logo{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
  max-height:var(--ccsws-header-height)!important;
  overflow:hidden!important;
}
.ccsws-smokeshows-logo img{
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;bottom:0!important;
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  min-width:0!important;
  margin:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}


/* v2.0.12 — guest phones absolutely center .ccsws-title, which slid the
   wordmark under Join. Keep it in the grid lane and scale the full artwork
   to that lane. Bar height is unchanged. */
.ccsws-masthead .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
  max-height:var(--ccsws-header-height)!important;
  margin:0!important;
  overflow:hidden!important;
  z-index:1!important;
}
.ccsws-masthead .ccsws-smokeshows-logo img,
.ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo img{
  position:absolute!important;
  inset:0!important;
  left:0!important;right:0!important;top:0!important;bottom:0!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  transform:none!important;
  object-fit:contain!important;
  object-position:center center!important;
}


/* v2.0.13 — desktop wordmark may use a much wider lane. The artwork is
   extremely wide, so a bigger width also makes the letters taller. Extra
   flame is cropped inside the existing bar; the bar itself does not grow. */
@media (min-width:1200px){
  .ccsws-masthead .ccsws-smokeshows-logo,
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo{
    overflow:hidden!important;
  }
  .ccsws-masthead .ccsws-smokeshows-logo img,
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo img{
    position:absolute!important;
    inset:auto!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:-1px!important;
    width:min(1000px,100%)!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    transform:translateX(-50%)!important;
    object-fit:fill!important;
    object-position:center bottom!important;
  }
}


/* v2.0.14 — bottom dock labels stay fully visible, and only the current tab is pink. */
@media (max-width:1199px){
  #ccsws-mobile-nav.ccsws-app-mobile-nav,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
    max-width:none!important;
    left:0!important;
    right:0!important;
    transform:none!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    color:rgba(255,255,255,.82)!important;
    background:transparent!important;
    overflow:visible!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link span,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link span{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    text-align:center!important;
    font:800 11px/1.05 Arial,sans-serif!important;
    letter-spacing:0!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link svg,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link svg{
    stroke:currentColor!important;
    color:inherit!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link.is-active,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link.is-active{
    color:#fff!important;
    background:rgba(218,49,214,.18)!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link.is-active svg,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link.is-active svg{
    stroke:#DA31D6!important;
    color:#DA31D6!important;
  }
}
@media (max-width:390px){
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link span,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link span{
    font-size:10px!important;
  }
}


/* v2.0.15 — phone dock ends at 767px. From 768px up the left rail uses the
   same ID-level styling that previously lived only at min-width:1200px, and
   page content sits beside that rail instead of leaving an empty gutter. */
@media (max-width:767px){
  #ccsws-desktop-sidebar{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact{
    display:grid!important;
    position:fixed!important;
    left:0!important;right:0!important;bottom:0!important;
    z-index:2147483200!important;
    width:100%!important;
    max-width:none!important;
    height:calc(54px + env(safe-area-inset-bottom))!important;
    min-height:54px!important;
    padding:3px max(10px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(10px,env(safe-area-inset-left))!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:stretch!important;
    gap:2px!important;
    transform:none!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    background:#050505!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
    border-radius:0!important;
    box-shadow:0 -5px 18px rgba(0,0,0,.16)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:50px!important;
    margin:0!important;
    padding:4px 2px 3px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:stretch!important;
    align-self:stretch!important;
    gap:2px!important;
    border-radius:9px!important;
    background:transparent!important;
    color:rgba(255,255,255,.82)!important;
    text-decoration:none!important;
    font:800 11px/1.05 Arial,sans-serif!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
    opacity:1!important;
    transform:none!important;
    overflow:visible!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link svg,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link svg{
    display:block!important;
    width:20px!important;height:20px!important;flex:0 0 20px!important;
    fill:none!important;stroke:currentColor!important;color:inherit!important;
    stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link span,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link span{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
    text-align:center!important;
    font:800 11px/1.05 Arial,sans-serif!important;
    letter-spacing:0!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link.is-active,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link.is-active{
    color:#fff!important;
    background:rgba(218,49,214,.18)!important;
  }
  #ccsws-mobile-nav.ccsws-app-mobile-nav .ccsws-mobile-link.is-active svg,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact .ccsws-mobile-link.is-active svg{
    stroke:#DA31D6!important;
    color:#DA31D6!important;
  }

  html body.ccsws-active .ccsd-shell,
  html body.ccsws-active .ccsd-shell.ccsd-smokeshows-dashboard,
  html body.ccsws-active.ccsd-dashboard-page .ccsd-shell.ccsd-smokeshows-dashboard,
  html body.ccsws-active .ccp-app,
  html body.ccsws-active .ccp-main,
  html body.ccsws-active > #page,
  html body.ccsws-active > .site,
  html body.ccsws-active > .wp-site-blocks{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    left:0!important;
    right:auto!important;
    transform:none!important;
  }
  html body.ccsws-active.ccsd-dashboard-page .ccsd-shell.ccsd-smokeshows-dashboard{
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

@media (min-width:768px){
  :root{--ccsws-sidebar-width:224px!important}

  #ccsws-mobile-nav,
  #ccsws-mobile-nav.ccsws-app-mobile-nav,
  #ccsws-mobile-nav.ccsws-app-mobile-nav.ccsws-nav-compact{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.ccsws-active{padding-bottom:0!important}
  .ccsws-footer{padding-bottom:0!important}

  #ccsws-desktop-sidebar{
    display:flex!important;
    visibility:visible!important;
    pointer-events:auto!important;
    position:fixed!important;
    z-index:2147482000!important;
    top:var(--ccsws-header-height)!important;
    bottom:0!important;left:0!important;
    width:224px!important;
    flex-direction:column!important;
    padding:16px 14px 26px!important;
    background:#fff!important;
    border-right:1px solid #e4e6ea!important;
    box-shadow:8px 0 28px rgba(17,18,20,.035)!important;
    overflow-y:auto!important;
    color:#17181b!important;
  }
  .admin-bar #ccsws-desktop-sidebar{top:calc(var(--ccsws-header-height) + 32px)!important}
  #ccsws-desktop-sidebar .ccsws-sidebar-nav{
    display:flex!important;flex-direction:column!important;gap:8px!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-link{
    min-height:56px!important;
    display:flex!important;align-items:center!important;gap:12px!important;
    padding:7px 10px!important;border-radius:16px!important;
    color:#17181b!important;text-decoration:none!important;
    font:800 15px/1.1 Arial,sans-serif!important;
    background:transparent!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-link:hover,
  #ccsws-desktop-sidebar .ccsws-sidebar-link:focus,
  #ccsws-desktop-sidebar .ccsws-sidebar-link.is-active{
    background:#f8edf8!important;color:#111!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-icon{
    width:42px!important;height:42px!important;flex:0 0 42px!important;
    min-width:42px!important;min-height:42px!important;
    display:grid!important;place-items:center!important;
    border-radius:13px!important;
    background:#DA31D6!important;color:#fff!important;
    box-shadow:0 7px 16px rgba(218,49,214,.22)!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-icon-home,
  #ccsws-desktop-sidebar .ccsws-sidebar-icon-explore,
  #ccsws-desktop-sidebar .ccsws-sidebar-icon-members,
  #ccsws-desktop-sidebar .ccsws-sidebar-icon-messages,
  #ccsws-desktop-sidebar .ccsws-sidebar-icon-connections,
  #ccsws-desktop-sidebar .ccsws-sidebar-icon-notifications,
  #ccsws-desktop-sidebar .ccsws-sidebar-icon-profile{
    background:#DA31D6!important;color:#fff!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-icon svg{
    display:block!important;
    width:22px!important;height:22px!important;
    min-width:22px!important;min-height:22px!important;
    max-width:22px!important;max-height:22px!important;
    fill:none!important;stroke:#fff!important;stroke-width:1.9!important;
    stroke-linecap:round!important;stroke-linejoin:round!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-label{
    display:block!important;color:#17181b!important;
    font:800 15px/1.1 Arial,sans-serif!important;
  }
  #ccsws-desktop-sidebar .ccsws-sidebar-link.is-active .ccsws-sidebar-label,
  #ccsws-desktop-sidebar .ccsws-sidebar-link:hover .ccsws-sidebar-label{
    color:#111!important;
  }

  html body.ccsws-active .ccp-app{
    display:block!important;
    box-sizing:border-box!important;
    width:calc(100% - var(--ccsws-sidebar-width))!important;
    max-width:none!important;
    margin-left:var(--ccsws-sidebar-width)!important;
    margin-right:0!important;
    left:0!important;
  }
  html body.ccsws-active .ccp-main{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:1120px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:24px!important;
    padding-right:24px!important;
  }

  /* One rail offset only. Dashboard 3.0.5 already pads with --ccsws-sidebar-width;
     do not add a second margin or the feed shifts twice. */
  html body.ccsws-active.ccsd-dashboard-page .ccsd-shell,
  html body.ccsws-active.ccsd-dashboard-page .ccsd-shell.ccsd-smokeshows-dashboard{
    box-sizing:border-box!important;
    position:relative!important;
    left:0!important;
    right:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:calc(var(--ccsws-sidebar-width) + 24px)!important;
    padding-right:24px!important;
  }
}


/* v2.0.16 — one medium wordmark for guest AND logged-in.
   Root cause: v2.0.13 desktop rules absolutely positioned the PNG at
   width:min(1000px,100%) with height:auto + object-fit:fill. The artwork is
   extremely wide (~11.6:1), so that width made letterforms taller than the
   64px bar (guest = edge-to-edge huge). Logged-in used the same selectors but
   often also hit desktop-header-hidden (title opacity:0) while a later
   #DA31D6!important kept the pink bar, so the wordmark looked missing/tiny.
   Fix: drop the absolute/fill/1000px path; size .ccsws-smokeshows-logo img
   once with contain + ~44–46px height inside the existing bar. Keep the logo
   in the center grid lane so Log In / Join never cover it. Bar height unchanged. */
.ccsws-masthead .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
  max-height:var(--ccsws-header-height)!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  z-index:1!important;
}
.ccsws-smokeshows-logo img,
.ccsws-masthead .ccsws-smokeshows-logo img,
.ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo img,
.ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo img{
  position:static!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:block!important;
  width:auto!important;
  height:44px!important;
  max-height:44px!important;
  min-height:0!important;
  max-width:min(720px,100%)!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
}
@media (min-width:768px){
  .ccsws-smokeshows-logo img,
  .ccsws-masthead .ccsws-smokeshows-logo img,
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo img,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo img{
    height:46px!important;
    max-height:46px!important;
    max-width:min(760px,100%)!important;
  }
}
@media (min-width:1200px){
  .ccsws-smokeshows-logo img,
  .ccsws-masthead .ccsws-smokeshows-logo img,
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo img,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo img{
    height:46px!important;
    max-height:46px!important;
    max-width:min(780px,100%)!important;
  }
}
/* Restore scroll-hide transparency so a later pink !important cannot leave an
   empty magenta bar with an invisible (opacity:0) wordmark. */
@media (min-width:1081px){
  .ccsws-masthead.ccsws-desktop-header-hidden{
    background:transparent!important;
    border-bottom-color:transparent!important;
    box-shadow:none!important;
  }
}


/* v2.0.18 — guest header JOIN is a white button with black (#111) text,
   including hover, so it stays visible on the pink masthead.
   LOG IN stays black (#111) with white text. Logo size and the 768px
   sidebar/dock breakpoint are unchanged. No red is reintroduced. */
:root{
  --ccsws-red:#DA31D6;
  --ccsws-red-deep:#B81DB5;
  --ccsws-red-bright:#EF54EB;
  --ccsws-pink:#DA31D6;
  --ccsws-native-red:#DA31D6;
  --ccsws-mobile-brand-red:#DA31D6;
}
.ccsws-masthead .ccsws-login,
.ccsws-masthead .ccsws-guest-actions .ccsws-login,
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-login,
.ccsws-masthead.ccsws-is-guest .ccsws-mobile-login-left{
  background:#111!important;
  color:#fff!important;
  border:1px solid #111!important;
  box-shadow:none!important;
}
.ccsws-masthead .ccsws-guest-actions .ccsws-join,
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join,
.ccsws-masthead .ccsws-guest-actions .ccsws-join:hover,
.ccsws-masthead .ccsws-guest-actions .ccsws-join:focus,
.ccsws-masthead .ccsws-guest-actions .ccsws-join:focus-visible,
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join:hover,
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join:focus,
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join:focus-visible{
  background:#fff!important;
  color:#111!important;
  border:0!important;
  box-shadow:0 8px 18px rgba(17,17,17,.18)!important;
  filter:none!important;
}


/* v2.0.19 — logged-in and guest wordmarks are sized separately.
   v2.0.16 unified them, so guest stayed edge-to-edge (46px tall) while
   logged-in scroll-hide (opacity:0 / translate) made the wordmark vanish.
   Bar height is not increased. Sidebar still starts at 768px. */

.ccsws-masthead,
.ccsws-masthead.ccsws-header-hidden,
.ccsws-masthead.ccsws-desktop-header-hidden,
.ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden,
.ccsws-masthead.ccsws-is-logged-in.ccsws-desktop-header-hidden,
.ccsws-masthead.ccsws-is-guest.ccsws-header-hidden,
.ccsws-masthead.ccsws-is-guest.ccsws-desktop-header-hidden{
  background:#DA31D6!important;
  height:var(--ccsws-header-height)!important;
  max-height:var(--ccsws-header-height)!important;
}

/* Scroll-hide must not zero or slide the wordmark off the bar. */
.ccsws-masthead.ccsws-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-header-hidden .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-desktop-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-desktop-header-hidden .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-logo,
.ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-logged-in.ccsws-desktop-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-is-logged-in.ccsws-desktop-header-hidden .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-guest.ccsws-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-is-guest.ccsws-header-hidden .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-guest.ccsws-desktop-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-is-guest.ccsws-desktop-header-hidden .ccsws-smokeshows-logo{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
}

.ccsws-masthead.ccsws-is-logged-in .ccsws-header-inner,
.ccsws-masthead.ccsws-is-guest .ccsws-header-inner{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
}

.ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
  max-height:var(--ccsws-header-height)!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  z-index:1!important;
}

/* Logged-in wordmark: 250px wide on desktop (not 250px tall). The artwork
   is ~11.6:1, so this sits well inside the existing bar. */
.ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo img{
  position:static!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:block!important;
  width:250px!important;
  height:auto!important;
  max-width:100%!important;
  max-height:calc(var(--ccsws-header-height) - 10px)!important;
  min-width:0!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  opacity:1!important;
  visibility:visible!important;
}
@media (max-width:1199px){
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo img{
    width:220px!important;
  }
}
@media (max-width:767px){
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo img{
    width:min(200px,calc(100vw - 120px))!important;
    max-width:100%!important;
  }
}

/* Guest wordmark: modest shrink from the 46px-tall desktop size.
   Stays in the center lane so it cannot run under Log In / Join. */
.ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo img{
  position:static!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:block!important;
  width:auto!important;
  height:40px!important;
  max-height:40px!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  opacity:1!important;
  visibility:visible!important;
}
@media (max-width:1080px){
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo img{
    height:36px!important;
    max-height:36px!important;
  }
}
@media (max-width:767px){
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo img{
    width:min(220px,calc(100% - 8px))!important;
    height:auto!important;
    max-height:calc(var(--ccsws-header-height) - 14px)!important;
    max-width:calc(100% - 8px)!important;
  }
}

/* LOG IN = white / black text. JOIN = black / white text. No red. */
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:nowrap!important;
}
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-login,
.ccsws-masthead.ccsws-is-guest .ccsws-mobile-login-left,
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-login:hover,
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-login:focus,
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-login:focus-visible{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:34px!important;
  padding:0 14px!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#111!important;
  border:1px solid #fff!important;
  box-shadow:none!important;
  filter:none!important;
  font:900 12px/1 Arial,sans-serif!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join,
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join:hover,
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join:focus,
.ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join:focus-visible{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:34px!important;
  padding:0 14px!important;
  border-radius:12px!important;
  background:#111!important;
  color:#fff!important;
  border:1px solid #111!important;
  box-shadow:none!important;
  filter:none!important;
  font:900 12px/1 Arial,sans-serif!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
@media (max-width:520px){
  .ccsws-masthead.ccsws-is-guest .ccsws-guest-actions{gap:4px!important}
  .ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-login,
  .ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-login:hover,
  .ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join,
  .ccsws-masthead.ccsws-is-guest .ccsws-guest-actions .ccsws-join:hover{
    min-height:30px!important;
    height:auto!important;
    width:auto!important;
    min-width:0!important;
    padding:0 8px!important;
    border-radius:10px!important;
    font-size:10px!important;
  }
}

/* v2.0.20 — masthead wordmark is HTML text, not the PNG.
   One size rule for guest and logged-in. Connect 1.8.8 renders
   CONSERVATIVE / CONNECT as League Spartan 800, line-height 1,
   letter-spacing .005em (desktop) and .015em (max-width 820px),
   vertically centered in the bar. Those absolute sizes (25px / 19px)
   sit in a 72px bar. This bar stays 64/60/58px, and the phrase is longer,
   so the same weight, tracking, line-height, and centering are used while
   the font-size scales to the center lane and is capped so the glyphs fill
   most of the existing pink bar without raising it or covering the controls.
   Scroll-hide must not fade the title out. No red. */
.ccsws-masthead,
.ccsws-masthead.ccsws-header-hidden,
.ccsws-masthead.ccsws-desktop-header-hidden,
.ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden,
.ccsws-masthead.ccsws-is-logged-in.ccsws-desktop-header-hidden,
.ccsws-masthead.ccsws-is-guest.ccsws-header-hidden,
.ccsws-masthead.ccsws-is-guest.ccsws-desktop-header-hidden{
  background:#DA31D6!important;
  height:var(--ccsws-header-height)!important;
  max-height:var(--ccsws-header-height)!important;
  transform:none!important;
}
.ccsws-masthead.ccsws-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-header-hidden .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-desktop-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-desktop-header-hidden .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-logged-in.ccsws-desktop-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-is-logged-in.ccsws-desktop-header-hidden .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-guest.ccsws-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-is-guest.ccsws-header-hidden .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-guest.ccsws-desktop-header-hidden .ccsws-title,
.ccsws-masthead.ccsws-is-guest.ccsws-desktop-header-hidden .ccsws-smokeshows-logo,
.ccsws-masthead .ccsws-smokeshows-logo strong,
.ccsws-masthead .ccsws-smokeshows-logo em,
.ccsws-masthead .ccsws-smokeshows-logo .ccsws-flame{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  pointer-events:auto!important;
}
.ccsws-masthead.ccsws-is-logged-in .ccsws-header-inner,
.ccsws-masthead.ccsws-is-guest .ccsws-header-inner{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
}
.ccsws-masthead .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo,
.ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  gap:8px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  max-height:100%!important;
  margin:0!important;
  padding:0 2px!important;
  overflow:hidden!important;
  container-type:inline-size!important;
  z-index:1!important;
  color:#fff!important;
  text-decoration:none!important;
  text-shadow:none!important;
  white-space:nowrap!important;
  line-height:1!important;
  font-family:"League Spartan",Arial,Helvetica,sans-serif!important;
}
.ccsws-masthead .ccsws-smokeshows-logo strong,
.ccsws-masthead .ccsws-smokeshows-logo em,
.ccsws-masthead .ccsws-smokeshows-logo .ccsws-flame{
  display:block!important;
  flex:0 0 auto!important;
  min-width:max-content!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  font-family:"League Spartan",Arial,Helvetica,sans-serif!important;
  font-style:normal!important;
  font-weight:800!important;
  font-size:min(48px,calc(var(--ccsws-header-height) - 18px),3.15vw)!important;
  line-height:1!important;
  letter-spacing:.005em!important;
  text-transform:uppercase!important;
  text-shadow:none!important;
  white-space:nowrap!important;
}
.ccsws-masthead .ccsws-smokeshows-logo .ccsws-flame{
  flex:0 0 auto!important;
  font-weight:400!important;
  letter-spacing:0!important;
  line-height:1!important;
}
@media (max-width:820px){
  .ccsws-masthead .ccsws-smokeshows-logo{gap:5px!important}
  .ccsws-masthead .ccsws-smokeshows-logo strong,
  .ccsws-masthead .ccsws-smokeshows-logo em{
    letter-spacing:.015em!important;
  }
}

/* v2.0.20 specificity: guest phone rules use .ccsws-is-guest .ccsws-title strong at clamp(13px,4vw,16px), which is 15.6px on a 390px phone and clips. Match that specificity so one size wins for both states. */
.ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo strong,
.ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo em,
.ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo .ccsws-flame,
.ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo strong,
.ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo em,
.ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo .ccsws-flame{
  font-size:min(48px,calc(var(--ccsws-header-height) - 18px),3.15vw)!important;
  font-weight:800!important;
  line-height:1!important;
  color:#fff!important;
  opacity:1!important;
  transform:none!important;
}
.ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo .ccsws-flame,
.ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo .ccsws-flame{
  font-weight:400!important;
}
@media (max-width:820px){
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo strong,
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo em,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo strong,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo em{
    letter-spacing:.015em!important;
  }
}

/* v2.0.21 — phone wordmark floor. Desktop stays min(48px, bar-18px, 3.15vw)
   (~45px at 1440). Under 600px the glyphs are 20px for guest and logged-in.
   The full lockup is wider than the guest lane, so scaleX only compresses
   horizontally, and only as far as needed to keep about 8px clear of the
   home icon and Log In. Scroll-hide must not reset that scale to none. */
@media (max-width:600px){
  .ccsws-masthead .ccsws-smokeshows-logo,
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo,
  .ccsws-masthead.ccsws-header-hidden .ccsws-smokeshows-logo,
  .ccsws-masthead.ccsws-desktop-header-hidden .ccsws-smokeshows-logo,
  .ccsws-masthead.ccsws-is-guest.ccsws-header-hidden .ccsws-smokeshows-logo,
  .ccsws-masthead.ccsws-is-guest.ccsws-desktop-header-hidden .ccsws-smokeshows-logo,
  .ccsws-masthead.ccsws-is-logged-in.ccsws-header-hidden .ccsws-smokeshows-logo,
  .ccsws-masthead.ccsws-is-logged-in.ccsws-desktop-header-hidden .ccsws-smokeshows-logo{
    gap:3px!important;
    overflow:visible!important;
    transform:scaleX(min(1, calc((100vw - 192px) / 276px)))!important;
    transform-origin:center center!important;
  }
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo strong,
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo em,
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo .ccsws-flame,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo strong,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo em,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo .ccsws-flame{
    font-size:20px!important;
    line-height:1!important;
    letter-spacing:-0.035em!important;
  }
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo .ccsws-flame,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo .ccsws-flame{
    letter-spacing:0!important;
    font-weight:400!important;
  }
}

/* v2.0.23 — desktop wordmark only, another 30% smaller than v2.0.22.
   Phone (max-width 600px) stays 20px. Tablet (under 1200px) stays
   min(48px, bar-18px, 3.15vw). From 1200px up, the v2.0.22 formula
   is scaled by 0.70: min(25.2px, (bar-18px)*0.525, max(23.8px, 1.65375vw)).
   At 1440 that is ~23.8px (70% of the ~34px desktop size). */
@media (min-width:1200px){
  .ccsws-masthead .ccsws-smokeshows-logo strong,
  .ccsws-masthead .ccsws-smokeshows-logo em,
  .ccsws-masthead .ccsws-smokeshows-logo .ccsws-flame,
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo strong,
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo em,
  .ccsws-masthead.ccsws-is-guest .ccsws-smokeshows-logo .ccsws-flame,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo strong,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo em,
  .ccsws-masthead.ccsws-is-logged-in .ccsws-smokeshows-logo .ccsws-flame{
    font-size:min(25.2px,calc((var(--ccsws-header-height) - 18px) * 0.525),max(23.8px,1.65375vw))!important;
  }
}

/* v2.0.25 — always-visible sticky masthead on desktop and tablet.
   Disables legacy scroll-collapse visuals and leaves phone behavior intact. */
@media (min-width:768px){
  body.ccsws-active #ccsws-masthead,
  body.ccsws-active #ccsws-masthead.ccsws-header-hidden,
  body.ccsws-active #ccsws-masthead.ccsws-desktop-header-hidden{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:var(--ccsws-header-height)!important;
    max-height:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    background:#DA31D6!important;
    border-bottom:1px solid rgba(218,49,214,.35)!important;
    box-shadow:0 9px 28px rgba(218,49,214,.18)!important;
    pointer-events:auto!important;
    z-index:2147483000!important;
  }
  body.admin-bar.ccsws-active #ccsws-masthead{top:32px!important}
  body.ccsws-active #ccsws-masthead::before{display:none!important;content:none!important}
  body.ccsws-active #ccsws-masthead .ccsws-header-inner{
    opacity:1!important;visibility:visible!important;
    transform:none!important;height:100%!important;
  }
  body.ccsws-active #ccsws-masthead .ccsws-logo,
  body.ccsws-active #ccsws-masthead .ccsws-title,
  body.ccsws-active #ccsws-masthead .ccsws-smokeshows-logo,
  body.ccsws-active #ccsws-masthead .ccsws-account-area,
  body.ccsws-active #ccsws-masthead .ccsws-profile-menu,
  body.ccsws-active #ccsws-masthead .ccsws-avatar-button{
    opacity:1!important;visibility:visible!important;
    pointer-events:auto!important;
  }
  body.ccsws-active #ccsws-desktop-sidebar,
  body.ccsws-desktop-header-collapsed.ccsws-active #ccsws-desktop-sidebar{
    top:var(--ccsws-header-height)!important;
  }
  body.admin-bar.ccsws-active #ccsws-desktop-sidebar,
  body.admin-bar.ccsws-desktop-header-collapsed.ccsws-active #ccsws-desktop-sidebar{
    top:calc(var(--ccsws-header-height) + 32px)!important;
  }
}


/* v2.0.29: theme canvas is #cs-site; PMPro plugin owns the one offset.
   The shell must not translate nested checkout containers. */
body.ccsws-active.ccpmpro-page #cs-site{min-width:0;box-sizing:border-box}


/* v2.1.1: ensure fixed header has safe content offset on dashboard. */
html body.ccsws-active.ccsd-dashboard-page{scroll-padding-top:calc(var(--ccsws-header-height,72px) + 16px)!important;}
html body.ccsws-active.ccsd-dashboard-page #ccsd-composer{scroll-margin-top:calc(var(--ccsws-header-height,72px) + 24px)!important;}

/* v2.1.4 Dashboard composer fix: reserve exactly the fixed bar height
   on the mobile page canvas, not an additional desktop-sized gap. */
@media(max-width:767px){
 html body.ccsws-active.ccsd-dashboard-page #cs-site,
 html body.ccsws-active.ccsd-dashboard-page #page,
 html body.ccsws-active.ccsd-dashboard-page .site-content{padding-top:0!important;margin-top:0!important}
}
