/* Easy Point Widget/front layout — v0.5.31 */
.ep-widget-rail{min-width:0;width:100%;display:flex;flex-direction:column;gap:14px;align-self:start}
.ep-widget-rail--home{gap:12px}
.ep-widget-card{min-width:0;margin:0;padding:0;border:0;background:transparent}
.ep-widget-card>.ep-article-side-module,.ep-widget-card>.ep-author-card,.ep-widget-card>.ep-resource-purchase-card,.ep-widget-card>.ep-resource-specs{margin:0}
.ep-widget-card__title{margin:0 0 10px;font-size:16px}

.ep-archive-layout.has-sidebar{display:grid;gap:24px;align-items:start;grid-template-columns:minmax(0,1fr) minmax(240px,var(--ep-sidebar-category-width,300px))}
.ep-home-with-sidebar.has-sidebar{--ep-home-sidebar-gap:18px;display:grid;gap:var(--ep-home-sidebar-gap);align-items:start;grid-template-columns:minmax(0,1fr) var(--ep-sidebar-home-width,360px);width:min(var(--ep-content-max,1380px),calc(100% - 40px));max-width:none}
.ep-archive-main,.ep-home-main{min-width:0}
.ep-widget-rail--category{width:min(100%,var(--ep-sidebar-category-width,300px))}
.ep-widget-rail--home{width:100%}

.ep-article-layout.has-author-rail{grid-template-columns:minmax(0,1fr) minmax(240px,var(--ep-sidebar-article-width,300px))!important}
.ep-content-layout:not(.ep-content-layout--no-rail),.ep-video-detail__inner.has-related{grid-template-columns:minmax(0,1fr) minmax(250px,var(--ep-sidebar-resource-width,320px))!important}
.ep-widget-rail--article{width:min(100%,var(--ep-sidebar-article-width,300px))}
.ep-widget-rail--resource{width:min(100%,var(--ep-sidebar-resource-width,320px))}

@media(min-width:981px){
  .ep-widget-rail.is-sticky{position:sticky;top:calc(var(--ep-header-height,72px) + 18px)}
  .ep-widget-rail:not(.is-sticky){position:static}
}
@media(max-width:1180px){.ep-home-with-sidebar.has-sidebar{width:min(100% - 36px,1380px)}}
@media(max-width:860px){.ep-home-with-sidebar.has-sidebar{width:min(100% - 28px,1380px)}}
@media(max-width:560px){.ep-home-with-sidebar.has-sidebar{width:min(100% - 22px,1380px)}}
@media(max-width:980px){
  .ep-archive-layout.has-sidebar,.ep-home-with-sidebar.has-sidebar,
  .ep-article-layout.has-author-rail,.ep-content-layout:not(.ep-content-layout--no-rail),.ep-video-detail__inner.has-related{grid-template-columns:minmax(0,1fr)!important}
  .ep-widget-rail{position:static!important;width:100%!important}
  .ep-widget-rail.is-mobile-hidden{display:none!important}
  .ep-widget-rail.is-mobile-enabled{display:flex!important}
}

.ep-footer__widgets{display:grid!important;grid-template-columns:repeat(var(--ep-footer-cols,4),minmax(0,1fr));gap:var(--ep-footer-gap,20px)}
.ep-footer__widget-column{min-width:0;display:flex;flex-direction:column;gap:14px}
.ep-footer-widget{min-width:0}
.ep-footer-widget__title{margin:0 0 10px;font-size:15px;color:inherit}
@media(max-width:1100px){.ep-footer__widgets{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}
@media(max-width:720px){.ep-footer__widgets{grid-template-columns:1fr}}

/* v0.5.33 — per-widget responsive visibility */
@media(min-width:1101px){.ep-widget-hide-desktop{display:none!important}}
@media(min-width:721px) and (max-width:1100px){.ep-widget-hide-tablet{display:none!important}}
@media(max-width:720px){.ep-widget-hide-mobile{display:none!important}}


/* v0.5.51.98 · compact, homepage-safe widget rhythm */
.ep-widget-rail{gap:10px}
.ep-widget-rail--home{gap:10px}
.ep-widget-card__title{margin:0 0 8px;font-size:15px;line-height:1.35;font-weight:660;color:var(--ep-heading)}
.ep-widget-rail--home .ep-widget-card{min-width:0}
.ep-widget-rail--home .ep-shared-ranking{gap:6px}
.ep-widget-rail--home .ep-shared-ranking__item{grid-template-columns:24px 72px minmax(0,1fr);gap:8px;padding:6px;border-radius:10px}
.ep-widget-rail--home .ep-shared-ranking__thumb{border-radius:7px;aspect-ratio:16/10}
.ep-widget-rail--home .ep-shared-ranking__number{width:22px;height:22px;font-size:11px;border-radius:7px}
.ep-widget-rail--home .ep-shared-ranking__title{font-size:13px;line-height:1.34;-webkit-line-clamp:2}
.ep-widget-rail--home .ep-shared-ranking__copy p{display:none}
.ep-widget-rail--home .ep-shared-ranking__copy small{margin-top:2px;font-size:10.5px}
.ep-widget-rail--home .ep-compact-card{grid-template-columns:88px minmax(0,1fr);gap:9px;padding:7px;border-radius:10px}
.ep-widget-rail--home .ep-compact-card__body h4{font-size:13px;line-height:1.35}
.ep-widget-rail--home .ep-compact-card__body p{font-size:11.5px;-webkit-line-clamp:1}
.ep-widget-tag-cloud{display:flex;flex-wrap:wrap;gap:6px}
.ep-widget-tag-cloud a{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid var(--ep-line);border-radius:999px;background:color-mix(in srgb,var(--ep-card) 88%,transparent);color:var(--ep-muted);font-size:11.5px;text-decoration:none}
.ep-widget-tag-cloud a:hover{color:var(--ep-accent);border-color:color-mix(in srgb,var(--ep-accent) 25%,var(--ep-line))}

/* v0.5.51.125 · Homepage sidebar can live on either side. */
.ep-home-with-sidebar.has-sidebar.ep-home-sidebar-left{grid-template-columns:var(--ep-sidebar-home-width,360px) minmax(0,1fr)}
.ep-home-with-sidebar.has-sidebar.ep-home-sidebar-left>.ep-widget-rail--home{grid-column:1;grid-row:1}
.ep-home-with-sidebar.has-sidebar.ep-home-sidebar-left>.ep-home-main{grid-column:2;grid-row:1}
.ep-home-with-sidebar.has-sidebar.ep-home-sidebar-right>.ep-home-main{grid-column:1;grid-row:1}
.ep-home-with-sidebar.has-sidebar.ep-home-sidebar-right>.ep-widget-rail--home{grid-column:2;grid-row:1}
@media(max-width:980px){
  .ep-home-with-sidebar.has-sidebar.ep-home-sidebar-left,.ep-home-with-sidebar.has-sidebar.ep-home-sidebar-right{grid-template-columns:minmax(0,1fr)!important}
  .ep-home-with-sidebar.has-sidebar.ep-home-sidebar-left>.ep-home-main,.ep-home-with-sidebar.has-sidebar.ep-home-sidebar-left>.ep-widget-rail--home,.ep-home-with-sidebar.has-sidebar.ep-home-sidebar-right>.ep-home-main,.ep-home-with-sidebar.has-sidebar.ep-home-sidebar-right>.ep-widget-rail--home{grid-column:1;grid-row:auto}
}


/* v0.5.51.139 — homepage sidebar width/gutter contract.
 * Sidebar width is exact (220–460px from settings); the main column no longer
 * adds a second internal page gutter, so header/menu and homepage content keep
 * the same left/right canvas and the main-to-sidebar gap stays constant. */
.ep-home-with-sidebar.has-sidebar>.ep-home-main{width:100%;min-width:0}
.ep-home-with-sidebar.has-sidebar>.ep-widget-rail--home{width:100%;min-width:0}
.ep-home-with-sidebar.has-sidebar .ep-home-main>.ep-home-diy-instance>section>.ep-container,
.ep-home-with-sidebar.has-sidebar .ep-home-main>.ep-home-diy-instance>section>.ep-home-title-list__frame,
.ep-home-with-sidebar.has-sidebar .ep-home-main>.ep-home-diy-instance>section>.ep-home-category-showcase__frame,
.ep-home-with-sidebar.has-sidebar .ep-home-main>.ep-home-diy-instance>section>.ep-home-resource-tabs__frame{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.ep-home-with-sidebar.has-sidebar .ep-home-main .ep-home-recommend__inner{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
@media(max-width:1180px){.ep-home-with-sidebar.has-sidebar{width:min(100% - 36px,var(--ep-content-max,1380px))}}
@media(max-width:860px){.ep-home-with-sidebar.has-sidebar{width:min(100% - 28px,var(--ep-content-max,1380px))}}
@media(max-width:560px){.ep-home-with-sidebar.has-sidebar{width:min(100% - 22px,var(--ep-content-max,1380px))}}

/* A resource purchase action must remain reachable on mobile even if other rail
   widgets are hidden by the resource-sidebar mobile preference. */
@media(max-width:980px){
  .single-ep_resource .ep-widget-rail--resource.is-mobile-hidden.has-purchase-widget{display:flex!important;flex-direction:column;width:100%!important}
  .single-ep_resource .ep-widget-rail--resource.is-mobile-hidden.has-purchase-widget>.widget:not(.widget_ep_resource_purchase){display:none!important}
}

/* 211: same-category recommendations, compact artwork-first list. */
.ep-widget-same-category{display:grid;gap:9px}
.ep-widget-same-category__item{display:grid;grid-template-columns:98px minmax(0,1fr);align-items:center;gap:10px;min-width:0;text-decoration:none;color:var(--ep-text)}
.ep-widget-same-category__thumb{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:9px;background:var(--ep-surface-soft);min-width:0}
.ep-widget-same-category__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.ep-widget-same-category__empty{display:grid;place-items:center;height:100%;color:var(--ep-muted)}
.ep-widget-same-category__text{min-width:0}.ep-widget-same-category__text strong{font-size:12.5px;line-height:1.5;font-weight:570;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ep-widget-same-category__item:hover strong{color:var(--ep-accent)}
.ep-widget-same-category--portrait .ep-widget-same-category__item{grid-template-columns:78px minmax(0,1fr)}
.ep-widget-same-category--portrait .ep-widget-same-category__thumb{aspect-ratio:3/4}

/* 212 · Ad sidebar is a native Widget; its image remains a compact card. */
.ep-widget-ad-card{overflow:hidden;border-radius:var(--ep-radius,12px);background:var(--ep-card,#fff);border:1px solid var(--ep-line,#e5e8ed)}
.ep-widget-ad-card__media{position:relative;display:block;width:100%;aspect-ratio:16/10;overflow:hidden}
.ep-widget-ad-card--square .ep-widget-ad-card__media{aspect-ratio:1/1}
.ep-widget-ad-card__media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .2s ease}
.ep-widget-ad-card__media:hover img{transform:scale(1.018)}
.ep-widget-ad-card__badge{position:absolute;top:8px;left:8px;font-size:10px;padding:4px 7px;border-radius:5px;color:var(--ep-muted,#616b79);background:color-mix(in srgb,var(--ep-card,#fff) 92%,transparent)}
@media(prefers-reduced-motion:reduce){.ep-widget-ad-card__media img{transition:none}}

/* Custom-code advertisements stay in the same sidebar card width. */
.ep-widget-ad-code{width:100%;max-width:100%;min-width:0;overflow-wrap:anywhere}
.ep-widget-ad-code :is(img,iframe,video){max-width:100%}
