/*
Canvas Premium Light theme extension
Purpose: make PageBuilder canvas previews and dynamic builder tools match this public theme.
*/

:root{
  --cb-canvas-max:var(--ce-max-width,1180px);
  --ce-feed-width:720px;
  --ce-feed-gap:18px;
  --ce-feed-card-bg:rgba(255,255,255,.94);
  --ce-feed-card-border:rgba(203,213,225,.82);
  --ce-feed-card-radius:28px;
  --ce-feed-card-shadow:0 18px 55px rgba(15,23,42,.10);
  --ce-feed-card-shadow-hover:0 28px 80px rgba(15,23,42,.16);
}

/* Builder canvas theme preview */
body.canvas-builder-open.theme-preview{
  background:#eef2f7;
}

/* PageBuilder/public class bridge */
.cb-render.ce-block{
  padding:var(--ce-block-padding-y,var(--ce-space-7)) var(--ce-block-padding-x,1rem);
  color:var(--ce-block-text-color,var(--ce-text));
  background:var(--ce-block-bg-color,transparent);
  font-family:var(--ce-block-font-family,inherit);
  font-size:var(--ce-block-font-size,var(--ce-font-md));
}
.cb-render .ce-block-inner{
  width:min(var(--ce-block-max-width,var(--ce-max-width)),100%);
  margin-inline:auto;
}
.cb-render.cb-heading h1,
.cb-render.cb-heading h2,
.cb-render.cb-heading h3,
.cb-render.cb-heading h4,
.cb-render.cb-heading h5,
.cb-render.cb-heading h6{
  margin:0;
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:900;
}
.cb-render.cb-heading h1,
.cb-render.cb-heading h2,
.cb-render.cb-heading h3{
  font-size:clamp(38px,5vw,72px);
}
.cb-render.cb-heading h4{font-size:clamp(30px,3.5vw,54px)}
.cb-render.cb-heading h5{font-size:clamp(25px,2.8vw,42px)}
.cb-render.cb-heading h6{font-size:clamp(21px,2.2vw,32px)}
.cb-render.cb-hero,
.cb-render.cb-image-text,
.cb-render.cb-columns,
.cb-render.cb-services,
.cb-render.cb-faq,
.cb-render.cb-cta,
.cb-render.cb-stack,
.cb-render.cb-posts-feed{
  display:block;
}
.cb-hero .ce-hero,
.cb-image-text .ce-image-text,
.cb-columns .ce-columns,
.cb-services .ce-services-grid{
  width:100%;
}
.cb-hero .cb-public-btn,
.cb-cta .cb-public-btn,
.cb-stack .cb-public-btn,
.cb-button .cb-public-btn,
.ce-post-card-link{
  border-radius:999px;
}
.cb-faq .ce-faq-list,
.cb-services .ce-services-grid,
.cb-columns .ce-columns{
  gap:var(--ce-token-gap,18px);
}

/* Theme token classes exposed in the builder inspector */
.ce-font-clean{--ce-block-font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.ce-font-friendly{--ce-block-font-family:Poppins,Inter,ui-sans-serif,system-ui,sans-serif}
.ce-font-editorial{--ce-block-font-family:"Playfair Display",Georgia,serif}
.ce-space-tight{--ce-token-gap:10px;--ce-block-padding-y:28px;--ce-block-padding-x:24px}
.ce-space-cozy{--ce-token-gap:18px;--ce-block-padding-y:48px;--ce-block-padding-x:36px}
.ce-space-airy{--ce-token-gap:34px;--ce-block-padding-y:88px;--ce-block-padding-x:60px}
.ce-space-spacious{--ce-token-gap:40px;--ce-block-padding-y:104px;--ce-block-padding-x:72px}
.ce-style-button-bubble .ce-btn,
.ce-style-button-bubble .cb-public-btn{
  background:linear-gradient(135deg,#111827,#2563eb)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:999px!important;
  box-shadow:0 16px 35px rgba(37,99,235,.20)!important;
}
.ce-style-button-soft .ce-btn,
.ce-style-button-soft .cb-public-btn{
  background:#eef4ff!important;
  color:#1d4ed8!important;
  border:1px solid #dbeafe!important;
  box-shadow:0 10px 24px rgba(37,99,235,.10)!important;
}
.ce-style-button-outline .ce-btn,
.ce-style-button-outline .cb-public-btn{
  background:transparent!important;
  color:#0f172a!important;
  border:1px solid rgba(15,23,42,.22)!important;
  box-shadow:none!important;
}
.ce-style-button-link .ce-btn,
.ce-style-button-link .cb-public-btn{
  min-height:auto;
  padding:0;
  background:transparent!important;
  color:#1d4ed8!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-decoration:underline;
  text-underline-offset:5px;
}
.ce-style-card-soft .ce-block-card,
.ce-style-card-soft .ce-card,
.ce-style-card-soft .ce-faq-item,
.ce-style-card-soft .cb-col{
  background:#f8fbff!important;
  border:1px solid rgba(219,234,254,.88)!important;
  box-shadow:0 14px 40px rgba(37,99,235,.07)!important;
}
.ce-style-card-bubble .ce-block-card,
.ce-style-card-bubble .ce-card,
.ce-style-card-bubble .ce-faq-item,
.ce-style-card-bubble .cb-col{
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(203,213,225,.75)!important;
  border-radius:28px!important;
  box-shadow:0 18px 55px rgba(15,23,42,.10)!important;
}
.ce-style-card-glass .ce-block-card,
.ce-style-card-glass .ce-card,
.ce-style-card-glass .ce-faq-item,
.ce-style-card-glass .cb-col{
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:26px!important;
  box-shadow:0 24px 70px rgba(15,23,42,.12)!important;
  backdrop-filter:blur(18px);
}
.ce-style-card-elevated .ce-block-card,
.ce-style-card-elevated .ce-card,
.ce-style-card-elevated .ce-faq-item,
.ce-style-card-elevated .cb-col{
  background:#fff!important;
  border:1px solid rgba(226,232,240,.95)!important;
  box-shadow:0 28px 80px rgba(15,23,42,.16)!important;
  transform:translateY(-1px);
}

/* Modern social-style posts feed */
.ce-block-posts-feed .ce-block-inner.ce-post-feed,
.ce-post-feed{
  width:min(var(--ce-feed-width),100%);
  margin-inline:auto;
}
.ce-block-posts-feed .ce-post-feed-title,
.ce-post-feed-title{
  font-size:var(--ce-font-2xl);
  line-height:1;
  letter-spacing:-.055em;
  margin:0 0 18px;
}
.ce-post-feed-grid,
.ce-block-posts-feed .ce-post-feed-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:var(--ce-feed-gap);
  text-align:left;
}
.ce-post-card,
.ce-block-posts-feed .ce-post-card,
.post{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:22px;
  background:var(--ce-feed-card-bg);
  border:1px solid var(--ce-feed-card-border);
  border-radius:var(--ce-feed-card-radius);
  box-shadow:var(--ce-feed-card-shadow);
  overflow:hidden;
  transition:transform var(--ce-transition),box-shadow var(--ce-transition),border-color var(--ce-transition);
}
.ce-post-card:hover,
.post:hover{
  transform:translateY(-3px);
  border-color:rgba(147,197,253,.92);
  box-shadow:var(--ce-feed-card-shadow-hover);
}
.ce-post-card-image{
  width:calc(100% + 44px);
  max-width:none;
  margin:-22px -22px 8px;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:28px 28px 18px 18px;
  background:#e2e8f0;
}
.ce-post-card-date,
.ce-post-meta{
  align-self:flex-start;
  margin:0;
  color:#2563eb;
  background:#eef4ff;
  border:1px solid #dbeafe;
  border-radius:999px;
  padding:5px 10px;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ce-date-style-plain .ce-post-card-date{background:transparent;border:0;color:var(--ce-text-muted);padding:0;border-radius:0}
.ce-date-style-muted .ce-post-card-date{background:#f8fafc;color:var(--ce-text-muted);border-color:#e2e8f0}
.ce-date-style-badge .ce-post-card-date{background:#111827;color:#fff;border-color:#111827;border-radius:10px}
.ce-date-style-pill .ce-post-card-date{background:#eef4ff;color:#1d4ed8;border-color:#bfdbfe;border-radius:999px}
.ce-post-card-title,
.post h2{
  margin:0;
  font-size:clamp(1.22rem,1.1rem + .45vw,1.55rem);
  line-height:1.08;
  letter-spacing:-.045em;
}
.ce-post-card-title a:hover{
  color:#2563eb;
}
.ce-post-card-excerpt,
.ce-post-excerpt,
.ce-post-body,
.ce-post-content,
.post p{
  color:var(--ce-text-muted);
  line-height:1.65;
  margin:0;
}
.ce-post-card-link{
  align-self:flex-start;
  margin-top:4px;
  min-height:42px;
  padding:0 16px;
  font-size:.9rem;
}
.ce-post-button-center .ce-post-card-link{align-self:center}
.ce-post-button-right .ce-post-card-link{align-self:flex-end}
.ce-post-button-stretch .ce-post-card-link{align-self:stretch;width:100%}
.ce-post-feed-empty{
  background:rgba(255,255,255,.72);
  border:1px dashed #bfdbfe;
  border-radius:24px;
  padding:26px;
  color:var(--ce-text-muted);
  font-weight:850;
  text-align:center;
}

@media (max-width:900px){
  .ce-post-card,.ce-block-posts-feed .ce-post-card,.post{border-radius:22px;padding:18px}
  .ce-post-card-image{width:calc(100% + 36px);margin:-18px -18px 6px;border-radius:22px 22px 16px 16px}
}

/* 2026 social update posts */
:root{
  --ce-feed-width:760px;
  --ce-feed-gap:20px;
  --ce-feed-card-bg:rgba(255,255,255,.9);
  --ce-feed-card-border:rgba(226,232,240,.78);
  --ce-feed-card-radius:26px;
  --ce-feed-card-shadow:0 16px 50px rgba(15,23,42,.08);
  --ce-feed-card-shadow-hover:0 24px 70px rgba(15,23,42,.13);
}

.ce-block-posts-feed .ce-post-feed,
.ce-post-feed{
  display:block;
}

.ce-post-feed-header{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}

.ce-post-feed-title{
  margin:0;
}

.ce-post-feed-header:before{
  content:"";
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--ce-post-title-marker,#2563eb),var(--ce-post-title-marker-2,#7c3aed));
  box-shadow:0 16px 34px rgba(37,99,235,.22);
}

.ce-post-feed-header.has-real-marker:before,
.ce-post-feed-header:has(.ce-post-feed-marker):before{
  display:none;
}

.ce-post-feed-marker{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:16px;
  box-shadow:0 16px 34px rgba(37,99,235,.22);
}

.ce-post-feed-header.no-title-marker:before{
  display:none;
}

.ce-post-feed-header.no-title-marker .ce-post-feed-marker{
  display:none;
}

.ce-post-feed-grid,
.ce-block-posts-feed .ce-post-feed-grid{
  gap:20px;
}

.ce-post-card,
.ce-block-posts-feed .ce-post-card,
.post{
  isolation:isolate;
  gap:0;
  padding:0;
  background:
    radial-gradient(circle at 8% 0%,rgba(37,99,235,.13),transparent 32%),
    radial-gradient(circle at 100% 12%,rgba(124,58,237,.10),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,251,255,.93));
  border:1px solid rgba(226,232,240,.9);
  border-radius:30px;
  box-shadow:0 22px 70px rgba(15,23,42,.11);
  backdrop-filter:blur(18px);
  overflow:visible;
}

.ce-post-card:before,
.post:before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,0) 34%);
  z-index:0;
}

.ce-post-card:hover,
.post:hover{
  transform:translateY(-4px);
  border-color:rgba(147,197,253,.86);
  box-shadow:0 30px 90px rgba(15,23,42,.16);
}

.ce-post-card > *,
.post > *{
  position:relative;
  z-index:1;
}

.ce-post-card .ce-card-body,
.post .ce-card-body{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:24px;
}

.ce-post-card-head{
  order:0;
  display:flex;
  align-items:center;
  gap:13px;
  margin:0 22px 16px;
}

.ce-card-body .ce-post-card-head{
  margin:0 0 18px;
  padding:12px;
  border:1px solid rgba(226,232,240,.78);
  border-radius:22px;
  background:rgba(255,255,255,.68);
}

.ce-post-avatar{
  width:54px;
  height:54px;
  flex:0 0 54px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:20px;
  background:linear-gradient(135deg,#0f172a,#2563eb 55%,#7c3aed);
  color:#fff;
  font-weight:950;
  font-size:1.05rem;
  object-fit:cover;
  border:3px solid rgba(255,255,255,.9);
  box-shadow:0 16px 34px rgba(37,99,235,.24);
}

.ce-post-card-meta{
  min-width:0;
}

.ce-post-card-meta strong{
  display:block;
  color:#0f172a;
  font-size:1rem;
  font-weight:950;
  line-height:1.15;
  letter-spacing:-.025em;
}

.ce-post-card-image{
  order:5;
  width:calc(100% - 44px);
  max-width:none;
  margin:10px 22px 0;
  aspect-ratio:1.91/1;
  border-radius:22px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}

.ce-post-card-date,
.ce-post-meta{
  order:3;
  align-self:flex-start;
  margin:0 22px 12px;
  background:rgba(241,245,249,.86);
  border:1px solid rgba(226,232,240,.95);
  border-radius:999px;
  padding:6px 11px;
  color:#475569;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.01em;
  text-transform:none;
}

.ce-card-body .ce-post-card-date,
.ce-card-body .ce-post-meta{
  margin:0 0 12px;
}

.ce-date-style-muted .ce-post-card-date,
.ce-date-style-plain .ce-post-card-date{
  background:rgba(241,245,249,.86);
  border:1px solid rgba(226,232,240,.95);
  padding:6px 11px;
  color:#64748b;
}

.ce-date-style-badge .ce-post-card-date,
.ce-date-style-pill .ce-post-card-date{
  margin-top:0;
  padding:6px 11px;
  background:#eef4ff;
  color:#1d4ed8;
  border:1px solid #bfdbfe;
}

.ce-post-card-title,
.post h2,
.ce-post-title{
  order:2;
  margin:0 22px 12px;
  font-size:clamp(1.24rem,1.08rem + .72vw,1.78rem);
  line-height:1.04;
  letter-spacing:-.055em;
}

.ce-card-body .ce-post-card-title,
.ce-card-body .ce-post-title{
  margin-left:0;
  margin-right:0;
}

.ce-post-card-excerpt,
.ce-post-excerpt,
.ce-post-body,
.ce-post-content,
.post p{
  order:4;
  margin:0 22px;
  color:#334155;
  font-size:1.02rem;
  line-height:1.72;
  overflow-wrap:anywhere;
}

.ce-card-body .ce-post-card-excerpt,
.ce-card-body .ce-post-excerpt,
.ce-card-body .ce-post-body,
.ce-card-body .ce-post-content,
.ce-card-body p{
  margin-left:0;
  margin-right:0;
}

.ce-post-body-collapsed{
  display:block;
}

.ce-post-body-preview{
  display:inline;
}

.ce-post-read-more{
  display:inline;
}

.ce-post-read-more summary{
  display:inline;
  cursor:pointer;
  list-style:none;
  color:#2563eb;
  font-weight:950;
}

.ce-post-read-more summary::-webkit-details-marker{
  display:none;
}

.ce-post-read-more summary:before{
  content:" ";
}

.ce-post-read-more[open] summary{
  display:none;
}

.ce-post-read-more span{
  display:inline;
}

.ce-post-public-actions,
.ce-post-actions{
  order:6;
  margin:18px 22px 0;
}

.ce-card-body .ce-post-public-actions,
.ce-card-body .ce-post-actions{
  margin-left:0;
  margin-right:0;
}

.ce-post-card-link{
  order:7;
  align-self:auto;
  width:calc(100% - 44px);
  margin:18px 22px 22px;
  min-height:48px;
  background:linear-gradient(135deg,#0f172a,#2563eb);
  color:#fff;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 16px 35px rgba(37,99,235,.22);
}

.ce-card-body .ce-post-card-link{
  width:100%;
  margin-left:0;
  margin-right:0;
  margin-bottom:0;
}

.ce-post-card-link:before{
  content:"";
  width:9px;
  height:9px;
  border-radius:50%;
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.13);
}

.ce-post-card-link:hover{
  background:linear-gradient(135deg,#111827,#7c3aed);
  color:#fff;
  border-color:rgba(255,255,255,.34);
}

.ce-post-card .ce-card-actions,
.post .ce-card-actions{
  padding:0;
}

.ce-post-card .ce-card-actions:empty{
  display:none;
}

.ce-post-button-left .ce-post-card-link{align-self:auto}
.ce-post-button-center .ce-post-card-link{align-self:center;width:auto;min-width:180px}
.ce-post-button-right .ce-post-card-link{align-self:flex-end;width:auto;min-width:180px}
.ce-post-button-stretch .ce-post-card-link{align-self:auto;width:calc(100% - 44px)}

.ce-post-feed-empty{
  background:rgba(255,255,255,.84);
  border:1px dashed rgba(37,99,235,.32);
  box-shadow:0 14px 40px rgba(15,23,42,.06);
}

@media (max-width:640px){
  .ce-post-card-date,
  .ce-post-meta{
    margin:0;
  }

  .ce-post-card-title,
  .post h2,
  .ce-post-title,
  .ce-post-card-excerpt,
  .ce-post-excerpt,
  .ce-post-body,
  .ce-post-content,
  .post p{
    margin-left:18px;
    margin-right:18px;
  }

  .ce-post-card-image,
  .ce-post-card-link{
    width:calc(100% - 36px);
    margin-left:18px;
    margin-right:18px;
  }
}
