/* SHEFRONT V30 — PUBLIC ADS + FOUR CORE CATEGORY DESK */

/* ---------- PUBLIC ADVERTISEMENTS ---------- */
.sf30-public-ad{
  width:100%;
  max-width:100%;
  margin:30px auto 34px;
  border:1px solid #dfd2da;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 36px rgba(54,35,58,.08);
}
.sf30-public-ad>a,.sf30-public-ad-static{display:block;color:inherit;text-decoration:none;background:#fff}
.sf30-public-ad-media{
  width:100%;
  max-height:560px;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:#f3eef1;
}
.sf30-public-ad-media img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  max-height:560px;
  object-fit:contain;
}
.sf30-public-ad-copy{padding:16px 19px 18px;background:linear-gradient(135deg,#342438,#503654);color:#fff}
.sf30-public-ad-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}
.sf30-public-ad-label,.sf30-public-ad-top small{
  color:#ffb2be;font:900 7.5px/1 "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.09em;
}
.sf30-public-ad-copy strong{display:block;margin:0 0 6px;color:#fff;font:700 28px/1.05 var(--serif)}
.sf30-public-ad-copy p{
  max-width:820px;margin:0 0 10px!important;color:#e3d7e0!important;
  font:500 10px/1.5 "DM Sans",sans-serif!important;
}
.sf30-public-ad-cta{
  display:inline-flex;padding:7px 11px;border-radius:999px;background:#e95064;color:#fff;
  font:800 8.5px/1 "DM Sans",sans-serif;
}
.sf9-body .sf30-public-ad{margin-left:0;margin-right:0}
.sf27-home-ad .sf30-public-ad{margin:0}

/* ---------- FOUR CORE CATEGORY DESK ---------- */
.sf30-category-desk{background:#fff;padding-top:54px;padding-bottom:54px}
.sf30-category-desk-heading{align-items:flex-end}
.sf30-category-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.sf30-category-panel{
  min-width:0;
  padding:13px;
  border:1px solid #e4d8df;
  border-radius:16px;
  overflow:hidden;
}
.sf30-category-panel-health{background:#f5f1f8}
.sf30-category-panel-work{background:#fff3ed}
.sf30-category-panel-society{background:#f3f7f3}
.sf30-category-panel-leadership{background:#f8f1f8}
.sf30-category-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:9px;
  padding-bottom:10px;
  border-bottom:2px solid #49314f;
}
.sf30-category-panel-health .sf30-category-panel-head{border-color:#82678a}
.sf30-category-panel-work .sf30-category-panel-head{border-color:#d0785b}
.sf30-category-panel-society .sf30-category-panel-head{border-color:#65806b}
.sf30-category-panel-leadership .sf30-category-panel-head{border-color:#e95064}
.sf30-category-panel-head>span{
  min-width:0;color:#3b293e;font:700 24px/1 var(--serif);overflow-wrap:anywhere;
}
.sf30-category-panel-head>a{
  flex:0 0 auto;color:#49314f;font:900 7px/1 "DM Sans",sans-serif;
  border-bottom:1px solid #b8aab4;padding-bottom:2px;
}
.sf30-category-story{
  display:block;min-width:0;padding:11px 0;border-bottom:1px solid rgba(73,49,79,.11);
  text-decoration:none;
}
.sf30-category-story:last-child{border-bottom:0;padding-bottom:2px}
.sf30-category-story.feature{padding-top:13px}
.sf30-category-story.feature img{
  display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin-bottom:9px;
}
.sf30-category-story small{
  display:block;margin-bottom:5px;color:#d84c61;font:900 7px/1 "DM Sans",sans-serif;
  letter-spacing:.08em;text-transform:uppercase;
}
.sf30-category-story h3{
  min-width:0;margin:0;color:#3b293e;font:700 18px/1.04 var(--serif);letter-spacing:-.018em;
  overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;
}
.sf30-category-story.feature h3{font-size:24px}
.sf30-category-story p{
  margin:7px 0 0;color:#71666e;font:500 9.5px/1.45 "DM Sans",sans-serif;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}

@media(max-width:1080px){
  .sf30-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .sf30-public-ad{border-radius:14px;margin:24px 0 28px}
  .sf30-public-ad-media,.sf30-public-ad-media img{max-height:none}
  .sf30-public-ad-copy{padding:14px 15px 16px}
  .sf30-public-ad-copy strong{font-size:24px}
}
@media(max-width:620px){
  .sf30-category-desk{padding-top:36px;padding-bottom:36px}
  .sf30-category-grid{grid-template-columns:1fr}
  .sf30-category-panel-head>span{font-size:27px}
}
