.didg-schools-wrap { max-width: 1100px; margin: 0 auto; padding: 24px 16px; }
.didg-schools-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
}
.didg-schools-card:hover { background: #fafafa; }
.didg-schools-logo { width: 47px; height: 47px; border-radius: 8px; overflow: hidden; flex: 0 0 47px; background: #eee; }
.didg-schools-logo img { width: 100%; height: 100%; object-fit: cover; display:block; }
.didg-schools-card-text { flex: 1 1 auto; }
.didg-schools-card-text .u { font-weight: 700; }
.didg-schools-card-text .c { opacity: 0.75; font-size: 0.95em; margin-top: 2px; }
.didg-schools-card-arrow { margin-left: auto; opacity: 0.5; }

.didg-school-hero {
  position: relative;
  width: 392px;
  max-width: 100%;
  border-radius: 16px;
  overflow: hidden;
}
.didg-school-hero img { width: 100%; height: auto; display: block; }
.didg-school-hero h3 {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  margin: 0;
  padding: 14px 14px;
  color: #fff;
  background: linear-gradient(to top, rgba(0,0,0,0.65), rgba(0,0,0,0));
}

.didg-school-info {
  display:flex; gap: 14px; align-items: center;
  margin-top: 16px;
}
.didg-school-info .logo {
  width: 67px; height: 67px;
  border-radius: 999px;
  border: 1px solid #ccc;
  overflow: hidden;
  background: #eee;
  flex: 0 0 67px;
}
.didg-school-info .logo img { width:100%; height:100%; object-fit: cover; display:block; }

.didg-school-map { margin-top: 16px; border-radius: 16px; overflow: hidden; border:1px solid #ddd; }
.didg-school-map img { width: 100%; height: auto; display:block; }

.didg-accordion { margin-top: 18px; border: none; border-radius: 16px; overflow: hidden; }
.didg-acc-item + .didg-acc-item { border-top: none; }
.didg-acc-btn {
  width: 100%;
  text-align: left;
  padding: 14px 14px;
  background: #fff;
  border: 0;
  font-weight: 700;
  cursor: pointer;
}
.didg-acc-panel { padding: 0 14px 14px; display:none; }
.didg-acc-panel.open { display:block; }
.didg-acc-subhead { font-weight: 700; margin-top: 12px; }

button.is-saved{font-weight:700;}


/* Detail page polish */
.didg-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.didg-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #ddd;border-radius:999px;font-size:13px;opacity:.9}
.didg-badge strong{font-weight:800}
.didg-section-card{border:none;border-radius:16px;padding:14px;margin-top:0px}
.didg-section-title{display:none;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;font-weight:900;font-size:1.05rem}
.didg-section-meta{opacity:.7;font-size:.9rem}
.didg-list{margin:0;padding-left:18px}
.didg-list li{margin:4px 0}
.didg-kv{display:grid;grid-template-columns:120px 1fr;gap:10px 14px;margin-top:10px}
.didg-kv .k{opacity:.7;font-weight:700}
.didg-kv .v{font-weight:700}
.didg-acc-btn{font-size:20px;display:flex;align-items:center;justify-content:space-between;padding-bottom: 0px;}
.didg-acc-btn:hover{color: var(--accent);}
.didg-acc-btn::after{  content: '';
  width: 30px;
  height: 30px;
  opacity: .6;

  background: center / 20px 20px no-repeat url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'><path d='M6.02738 9.50221C5.75124 9.50221 5.52738 9.72607 5.52738 10.0022C5.52738 10.2784 5.75124 10.5022 6.02738 10.5022L6.02738 10.0022L6.02738 9.50221ZM15.0905 10.3558C15.2858 10.1605 15.2858 9.84392 15.0905 9.64866L11.9085 6.46668C11.7133 6.27142 11.3967 6.27142 11.2014 6.46668C11.0062 6.66194 11.0062 6.97852 11.2014 7.17378L14.0299 10.0022L11.2014 12.8306C11.0062 13.0259 11.0062 13.3425 11.2014 13.5377C11.3967 13.733 11.7133 13.733 11.9085 13.5377L15.0905 10.3558ZM6.02738 10.0022L6.02738 10.5022L14.737 10.5022L14.737 10.0022L14.737 9.50221L6.02738 9.50221L6.02738 10.0022Z' fill='%23403D48'/></svg>");

  transition: transform 0.2s ease;}
.didg-acc-panel.open + .didg-acc-btn{} /* noop */
.didg-acc-item .didg-acc-panel.open ~ .didg-acc-btn{} /* noop */
.didg-acc-item .didg-acc-btn[aria-expanded="true"]::after{transform: rotate(135deg);}

/* Widget/shortcode school list */
.didg-schools-widget-list{display:flex;flex-direction:column;gap:10px}
.didg-schools-widget .didg-schools-card-mini{padding:12px 14px}
.didg-schools-widget .didg-schools-card-arrow{margin-left:auto;opacity:.6}
.didg-schools-widget-title{margin:0 0 10px}

/* Frontend My School editor */
.didg-my-school{max-width:900px}
.didg-notice{padding:10px 12px;border:1px solid #ccc;border-radius:10px;margin:10px 0}
.didg-notice-success{border-color:#999}
.didg-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.didg-form-row{display:flex;flex-direction:column;gap:6px}
.didg-form-row-full{grid-column:1/-1}
.didg-form-row label{font-weight:600}
.didg-form-row input,.didg-form-row textarea{padding:10px 12px;border:1px solid #ccc;border-radius:10px}
.didg-readonly{padding:10px 12px;border:1px dashed #000000;border-radius:10px;background:#fca6a6}
.didg-form-section{grid-column:1/-1;margin:12px 0 0}
.didg-media-row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.didg-hero-preview{width:196px;height:auto;border:1px solid #ddd;border-radius:12px}
.didg-logo-preview{width:80px;height:80px;border:1px solid #ddd;object-fit:cover}
@media (max-width: 720px){
  .didg-form-grid{grid-template-columns:1fr}
}
.didg-form-note{font-size:10px;color:#333333;font-style: italic;}


/* Global login modal + toast */
#didg-login-modal{position:fixed;inset:0;z-index:99999}
#didg-login-modal .didg-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
#didg-login-modal .didg-modal{position:relative;max-width:420px;margin:10vh auto;background:#fff;border-radius:16px;padding:16px;border:1px solid #ddd}
#didg-login-modal label{display:block;font-weight:700;margin-top:8px}
#didg-login-modal input{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:10px}
#didg-login-modal .didg-modal-close{position:absolute;right:10px;top:8px;background:transparent;border:0;font-size:24px;line-height:1;cursor:pointer}
#didg-login-modal .didg-modal-login-btn{padding:10px 14px;border:1px solid #000;background:#000;color:#fff;border-radius:10px;cursor:pointer}
#didg-login-modal .didg-modal-msg{margin-top:10px;padding:8px 10px;border:1px solid #ddd;border-radius:10px}
.didg-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);opacity:0;transition:opacity .2s ease;background:#000;color:#fff;padding:10px 12px;border-radius:999px;z-index:99999}
.didg-toast.show{opacity:1}

.didg-schools-searchbar{
  position: relative;
  width: 100%;
}

/* your search input */
.didg-schools-search-input{
  width:100%;
  height:46px;
  padding:0 44px 0 18px; /* room for icon */
  border-radius:999px;
  border:1px solid #000;
  background:#fff;

  color:#000;

  font-family:"Barlow",sans-serif;
  font-size:20px;
  font-style:normal;
  font-weight:400;
  line-height:113%;

  box-sizing:border-box;
}

/* magnifying glass */
.didg-schools-searchbar::after{
  content:"";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);

  width:18px;
  height:18px;

  background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\
<circle cx='11' cy='11' r='8'/>\
<line x1='21' y1='21' x2='16.65' y2='16.65'/>\
</svg>");
  background-size:contain;
  background-repeat:no-repeat;

  pointer-events:none;
}

.didg-filters-selected {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.didg-selected-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 0;
  border-radius: 999px;
  background: #E5E8EC;
  color: #403D48;
  font-family: "Barlow", sans-serif;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
}

.didg-selected-chip span {
  line-height: 1;
  font-size: 14px;
}

.didg-filters-selected {
  display: none;
  margin-top: 12px;
  gap: 8px;
  flex-wrap: wrap;
}

.didg-filters-selected .didg-filter-pill {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #E5E8EC;
  font-size: 12px;
  line-height: 1;
}

#didg-schools-results.is-loading {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity .15s ease;
}

