/* ===== SAU Shortcodes-Ultimate replacement styles =====
 * Network-wide, enqueued by mu-plugins/sau-su-replacement-styles.php
 * Demo: https://www.saumag.edu/sandbox/su-replacement-styles-demo/
 * Scoped to .entry-content and .widget so plain content HTML is unaffected.
 */

/* Buttons — pill per SAU Elementor house style */
.entry-content a.sau-btn,
.widget a.sau-btn {
  display: inline-block;
  background: #003da5;
  color: #fff;
  padding: 10px 24px;
  border-radius: 30px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid #003da5;
  transition: background .2s, color .2s;
}
.entry-content a.sau-btn:hover, .widget a.sau-btn:hover { background: #00286d; border-color: #00286d; color: #fff; }
.entry-content a.sau-btn--gold, .widget a.sau-btn--gold { background: #ffd200; border-color: #ffd200; color: #002d79; }
.entry-content a.sau-btn--gold:hover, .widget a.sau-btn--gold:hover { background: #e6bd00; border-color: #e6bd00; color: #002d79; }
.entry-content a.sau-btn--outline, .widget a.sau-btn--outline { background: transparent; color: #003da5; }
.entry-content a.sau-btn--outline:hover, .widget a.sau-btn--outline:hover { background: #003da5; color: #fff; }
.entry-content a.sau-btn--small, .widget a.sau-btn--small { padding: 6px 16px; font-size: 14px; }
/* Content buttons center in their container by default */
.entry-content a.sau-btn { display: table; margin: 0 auto 15px; text-align: center; }
/* Widget buttons stack vertically, left-aligned (SU rendered one per line in sidebars) */
.widget a.sau-btn { display: table; margin: 0 0 10px; }

/* Accordion / spoiler — native details */
.entry-content details.sau-spoiler,
.widget details.sau-spoiler {
  border: 1px solid #d9d9d9;
  border-radius: 15px;
  margin: 0 0 10px;
  overflow: hidden;
  background: #fbfbfb;
}
.entry-content details.sau-spoiler > summary,
.widget details.sau-spoiler > summary {
  cursor: pointer;
  padding: 12px 18px;
  font-weight: 800;
  color: #003da5;
  font-size: 17px;
  list-style-position: inside;
}
.entry-content details.sau-spoiler[open] > summary,
.widget details.sau-spoiler[open] > summary { border-bottom: 1px solid #e4e4e4; background: #f4f4f4; }
.entry-content details.sau-spoiler > .sau-spoiler-body,
.widget details.sau-spoiler > .sau-spoiler-body { padding: 14px 18px; }

/* Table */
.sau-table-wrap { overflow-x: auto; margin: 0 0 20px; }
.entry-content table.sau-table, .widget table.sau-table { border-collapse: collapse; width: 100%; font-size: 15px; }
.entry-content table.sau-table th, .widget table.sau-table th {
  background: #003da5; color: #fff; padding: 10px 14px; text-align: left;
}
.entry-content table.sau-table td, .widget table.sau-table td { padding: 9px 14px; border-bottom: 1px solid #e4e4e4; }
.entry-content table.sau-table tbody tr:nth-child(even),
.widget table.sau-table tbody tr:nth-child(even) { background: #f4f4f4; }

/* Note / callout */
.entry-content .sau-note, .widget .sau-note {
  display: flow-root; /* contain floated children (e.g. floated video/image inside a note) */
  border-left: 5px solid #003da5;
  background: #eef3fb;
  border-radius: 0 15px 15px 0;
  padding: 14px 18px;
  margin: 0 0 20px;
}
.entry-content .sau-note--gold, .widget .sau-note--gold { border-left-color: #ffd200; background: #fff9e0; }
.entry-content .sau-note p:last-child, .widget .sau-note p:last-child { margin-bottom: 0; }

/* Columns */
.entry-content .sau-cols, .widget .sau-cols { display: grid; gap: 24px; margin: 0 0 20px; }
.entry-content .sau-cols-2, .widget .sau-cols-2 { grid-template-columns: 1fr 1fr; }
.entry-content .sau-cols-3, .widget .sau-cols-3 { grid-template-columns: 1fr 1fr 1fr; }
.entry-content .sau-cols-4, .widget .sau-cols-4 { grid-template-columns: 1fr 1fr 1fr 1fr; }
@media (max-width: 720px) {
  .entry-content .sau-cols-2, .entry-content .sau-cols-3, .entry-content .sau-cols-4,
  .widget .sau-cols-2, .widget .sau-cols-3, .widget .sau-cols-4 { grid-template-columns: 1fr; }
}

/* Icon list */
.entry-content ul.sau-list, .widget ul.sau-list { list-style: none; padding-left: 0; }
.entry-content ul.sau-list li, .widget ul.sau-list li { padding-left: 26px; position: relative; margin-bottom: 8px; }
.entry-content ul.sau-list li::before,
.widget ul.sau-list li::before { content: "\2714"; color: #003da5; position: absolute; left: 0; font-weight: 700; }

/* Divider — theme default hr is too faint */
.entry-content hr.sau-hr, .widget hr.sau-hr { border: 0; border-top: 2px solid #9b9b9b; margin: 24px 0; }

/* Spacer */
.entry-content .sau-spacer, .widget .sau-spacer { display: block; }

/* Titled box (replaces su_box) */
.entry-content .sau-box, .widget .sau-box {
  border: 1px solid #d9d9d9;
  border-radius: 15px;
  overflow: hidden;
  margin: 0 0 20px;
  background: #fff;
}
.entry-content .sau-box-title, .widget .sau-box-title {
  background: #003da5;
  color: #fff;
  padding: 12px 18px;
  font-weight: 700;
  font-size: 17px;
}
.entry-content .sau-box-title a, .widget .sau-box-title a { color: #fff; }
.entry-content .sau-box-body, .widget .sau-box-body { padding: 14px 18px; }
.entry-content .sau-box-body > :last-child, .widget .sau-box-body > :last-child { margin-bottom: 0; }

/* Photo panel (replaces su_photo_panel) */
.entry-content .sau-photo-panel, .widget .sau-photo-panel {
  margin: 0 0 20px;
  overflow: hidden;
  background: #fff;
}
.entry-content .sau-photo-panel img, .widget .sau-photo-panel img { display: block; width: 100%; height: auto; }
.entry-content .sau-photo-panel-body, .widget .sau-photo-panel-body { padding: 12px 15px; }

/* Document embed (replaces su_document) */
.entry-content .sau-doc, .widget .sau-doc {
  width: 100%;
  max-width: 100%;
  border: 1px solid #d9d9d9;
  border-radius: 15px;
  overflow: hidden;
  margin: 0 0 10px;
  background: #f4f4f4;
}
.entry-content .sau-doc iframe, .widget .sau-doc iframe { width: 100%; height: 100%; border: 0; display: block; }
.entry-content .sau-doc-link, .widget .sau-doc-link { margin: 0 0 20px; }

/* Progress pie (replaces su_progress_pie) */
.entry-content .sau-pie, .widget .sau-pie {
  --sau-pie-pct: 0;
  --sau-pie-fill: #003da5;
  width: 2.6em;
  height: 2.6em;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 10px 15px 0;
  background:
    conic-gradient(var(--sau-pie-fill) calc(var(--sau-pie-pct) * 1%), #e4e4e4 0);
  line-height: 1;
}
.entry-content .sau-pie > span, .widget .sau-pie > span {
  background: #fff;
  border-radius: 50%;
  width: 2em;
  height: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .5em;
  font-weight: 700;
  color: inherit;
}

/* Map embed (replaces su_gmap) */
.entry-content .sau-map, .widget .sau-map {
  width: 100%;
  border-radius: 15px;
  overflow: hidden;
  margin: 0 0 20px;
}
.entry-content .sau-map iframe, .widget .sau-map iframe { width: 100%; height: 100%; border: 0; display: block; }

/* Child-page and post lists (rendered by sau-su-compat.php) */
.entry-content ul.sau-subpages, .widget ul.sau-subpages,
.entry-content ul.sau-posts, .widget ul.sau-posts { padding-left: 20px; }

/* Responsive video embed */
.entry-content .sau-embed, .widget .sau-embed { position: relative; padding-bottom: 56.25%; height: 0; margin: 0 0 20px; border-radius: 15px; overflow: hidden; }
.entry-content .sau-embed iframe, .widget .sau-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
