/* =========================================================
   SNEHAKOOTA — NOTICE BOARD
   ---------------------------------------------------------
   Community Updates read-side visual system.
   ========================================================= */

.sk-notice-section {
  width:min(100% - 12vw, 920px);
  margin:0 auto clamp(3rem, 8vh, 6rem);
  position:relative;
  z-index:2;
}

.sk-notice-board {
  background:rgba(255,246,232,.76);
  border:1px solid rgba(43,33,24,.12);
  border-radius:26px;
  box-shadow:0 18px 48px rgba(43,33,24,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  overflow:hidden;
}

.sk-notice-board-head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  padding:clamp(1.1rem,3vw,1.8rem) clamp(1.1rem,4vw,2rem) 1rem;
}

.sk-notice-kicker {
  display:block;
  margin-bottom:.35rem;
  font-family:'Noto Sans Kannada', sans-serif;
  font-size:.8rem;
  color:var(--rust);
}

.sk-notice-title {
  margin:0;
  font-family:'Fraunces', serif;
  font-size:clamp(1.45rem,3vw,2rem);
  color:var(--ink);
}

.sk-notice-status {
  font-size:.76rem;
  color:var(--ink-soft);
  white-space:nowrap;
}

.sk-notice-preview {
  display:grid;
  gap:.55rem;
  padding:0 clamp(1.1rem,4vw,2rem) clamp(1.1rem,3vw,1.6rem);
}

.sk-notice-preview-item {
  min-width:0;
}

.sk-notice-preview-trigger,
.sk-notice-full-trigger {
  width:100%;
  border:0;
  font:inherit;
  text-align:left;
  cursor:pointer;
  color:inherit;
  background:none;
}

.sk-notice-preview-trigger {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.8rem;
  min-height:58px;
  padding:.72rem .85rem;
  border-radius:16px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(43,33,24,.07);
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.sk-notice-preview-trigger:hover,
.sk-notice-preview-trigger:focus-visible {
  transform:translateY(-1px);
  background:rgba(255,255,255,.8);
  box-shadow:0 8px 20px rgba(43,33,24,.07);
  outline:none;
}

.sk-notice-preview-trigger strong {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.92rem;
  font-weight:600;
  color:var(--ink);
}

.sk-notice-preview-more {
  font-size:1.1rem;
  color:var(--ink-soft);
}

.sk-notice-preview-date {
  font-size:.75rem;
  color:var(--ink-soft);
  justify-self:end;
}

.sk-notice-type {
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  flex:0 0 auto;
  font-family:'Noto Sans Kannada', sans-serif;
  font-size:.72rem;
  color:var(--ink-soft);
}

.sk-notice-type-icon {
  display:inline-grid;
  place-items:center;
  width:1.45rem;
  height:1.45rem;
  border-radius:50%;
  font-family:'Work Sans', sans-serif;
  font-size:.72rem;
  line-height:1;
}

.sk-notice-type--notice .sk-notice-type-icon {
  color:var(--rust);
  background:rgba(181,80,46,.12);
  animation:sk-notice-pulse 2.2s ease-in-out infinite;
}

.sk-notice-type--announcement .sk-notice-type-icon {
  background:rgba(226,155,63,.18);
  color:var(--rust);
}

.sk-notice-type--event .sk-notice-type-icon {
  border-radius:7px;
  background:rgba(47,82,51,.12);
  color:var(--banyan);
}

@keyframes sk-notice-pulse {
  0%,100% { opacity:1; transform:scale(1); }
  50% { opacity:.52; transform:scale(.82); }
}

.sk-notice-board-foot {
  display:flex;
  justify-content:flex-end;
  padding:0 clamp(1.1rem,4vw,2rem) clamp(1rem,3vw,1.5rem);
}

.sk-notice-view-all {
  border:0;
  background:none;
  color:var(--rust);
  font:600 .86rem 'Work Sans', sans-serif;
  cursor:pointer;
  padding:.5rem 0;
}

.sk-notice-view-all:hover,
.sk-notice-view-all:focus-visible {
  text-decoration:underline;
  outline:none;
}

.sk-notice-empty {
  display:flex;
  flex-direction:column;
  gap:.35rem;
  align-items:center;
  justify-content:center;
  min-height:170px;
  text-align:center;
  color:var(--ink-soft);
  font-size:.9rem;
}

.sk-notice-empty strong {
  color:var(--ink);
}

.sk-notice-empty--compact {
  min-height:72px;
  border:1px dashed rgba(43,33,24,.12);
  border-radius:16px;
}

/* Full Notice Board surface */

.sk-notice-full {
  position:fixed;
  inset:0;
  z-index:90;
  display:grid;
  grid-template-rows:1fr;
  padding:clamp(10px,2vw,24px);
  opacity:0;
  transition:opacity .22s ease;
}

.sk-notice-full.is-open {
  opacity:1;
}

.sk-notice-full[hidden] {
  display:none;
}

.sk-notice-backdrop {
  position:absolute;
  inset:0;
  background:rgba(43,33,24,.5);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.sk-notice-full-panel {
  position:relative;
  width:min(100%, 920px);
  height:100%;
  margin:auto;
  display:flex;
  flex-direction:column;
  background:var(--sky-top);
  border:1px solid rgba(255,246,232,.35);
  border-radius:28px;
  box-shadow:0 28px 70px rgba(43,33,24,.28);
  overflow:hidden;
  transform:translateY(18px) scale(.985);
  transition:transform .24s ease;
}

.sk-notice-full.is-open .sk-notice-full-panel {
  transform:translateY(0) scale(1);
}

.sk-notice-full-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:clamp(1rem,3vw,1.8rem);
  border-bottom:1px solid rgba(43,33,24,.1);
}

.sk-notice-full-head h2 {
  margin:.15rem 0 0;
  font-family:'Fraunces', serif;
  color:var(--ink);
  font-size:clamp(1.5rem,3vw,2.2rem);
}

.sk-notice-full-close {
  width:38px;
  height:38px;
  flex:0 0 auto;
  border:1px solid rgba(43,33,24,.1);
  border-radius:50%;
  background:rgba(181,80,46,.08);
  color:var(--ink);
  cursor:pointer;
  font-size:1.1rem;
}

.sk-notice-full-close:hover,
.sk-notice-full-close:focus-visible {
  background:rgba(181,80,46,.15);
  outline:none;
}

.sk-notice-full-status {
  min-height:1.2em;
  padding:0 clamp(1rem,3vw,1.8rem);
  color:var(--ink-soft);
  font-size:.8rem;
}

.sk-notice-full-list {
  flex:1;
  overflow:auto;
  padding:clamp(1rem,3vw,1.8rem);
  display:grid;
  gap:.75rem;
}

.sk-notice-full-item {
  border:1px solid rgba(43,33,24,.1);
  border-radius:18px;
  background:rgba(255,255,255,.55);
  overflow:hidden;
}

.sk-notice-full-trigger {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.8rem;
  padding:1rem;
}

.sk-notice-full-trigger strong {
  color:var(--ink);
  font-size:.98rem;
}

.sk-notice-chevron {
  color:var(--ink-soft);
  transition:transform .18s ease;
}

.sk-notice-full-item.is-expanded .sk-notice-chevron {
  transform:rotate(180deg);
}

.sk-notice-full-detail {
  padding:0 1rem 1.15rem calc(1rem + 0px);
  color:var(--ink-soft);
  font-size:.92rem;
  line-height:1.7;
}

.sk-notice-full-detail p {
  margin:.2rem 0 .8rem;
}

.sk-notice-event-date,
.sk-notice-event-location {
  margin-top:.45rem;
  font-size:.86rem;
}

.sk-notice-linked-note {
  display:inline-block;
  margin-top:.75rem;
  font-size:.78rem;
  color:var(--banyan);
}

body.sk-notice-board-open {
  overflow:hidden;
}

@media (max-width:700px) {
  .sk-notice-section {
    width:min(100% - 14vw, 920px);
    margin-bottom:clamp(2.5rem,7vh,4rem);
  }

  .sk-notice-board {
    border-radius:22px;
  }

  .sk-notice-board-head {
    align-items:flex-start;
    flex-direction:column;
  }

  .sk-notice-preview-trigger {
    grid-template-columns:minmax(0,1fr) auto;
  }

  .sk-notice-preview-trigger .sk-notice-type {
    grid-column:1 / -1;
  }

  .sk-notice-preview-date {
    display:none;
  }

  .sk-notice-full {
    padding:0;
  }

  .sk-notice-full-panel {
    width:100%;
    border-radius:0;
    border:0;
    max-height:100svh;
  }
}

@media (prefers-reduced-motion:reduce) {
  .sk-notice-preview-trigger,
  .sk-notice-full,
  .sk-notice-full-panel,
  .sk-notice-chevron,
  .sk-notice-type--notice .sk-notice-type-icon {
    transition:none;
    animation:none;
  }
}


/* =========================================================
   NOTICE CREATION — admin/owner write surface
   ========================================================= */

.sk-notice-board-foot {
  gap:1rem;
  align-items:center;
}

.sk-notice-create-open-button {
  border:1px solid rgba(181,80,46,.18);
  background:rgba(181,80,46,.09);
  color:var(--rust);
  border-radius:999px;
  padding:.52rem .85rem;
  font:600 .84rem 'Work Sans', sans-serif;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}

.sk-notice-create-open-button:hover,
.sk-notice-create-open-button:focus-visible {
  background:rgba(181,80,46,.15);
  box-shadow:0 8px 18px rgba(43,33,24,.07);
  transform:translateY(-1px);
  outline:none;
}

.sk-notice-create {
  position:fixed;
  inset:0;
  z-index:95;
  display:grid;
  padding:clamp(10px,2vw,24px);
  opacity:0;
  transition:opacity .22s ease;
}

.sk-notice-create.is-open { opacity:1; }
.sk-notice-create[hidden] { display:none; }

.sk-notice-create-backdrop {
  position:absolute;
  inset:0;
  background:rgba(43,33,24,.5);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.sk-notice-create-panel {
  position:relative;
  width:min(100%,760px);
  height:min(100%,860px);
  margin:auto;
  display:flex;
  flex-direction:column;
  background:var(--sky-top);
  border:1px solid rgba(255,246,232,.35);
  border-radius:28px;
  box-shadow:0 28px 70px rgba(43,33,24,.28);
  overflow:hidden;
  transform:translateY(18px) scale(.985);
  transition:transform .24s ease;
}

.sk-notice-create.is-open .sk-notice-create-panel {
  transform:translateY(0) scale(1);
}

.sk-notice-create-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:clamp(1rem,3vw,1.5rem) clamp(1rem,4vw,1.8rem);
  border-bottom:1px solid rgba(43,33,24,.1);
}

.sk-notice-create-head h2 {
  margin:.1rem 0 0;
  font-family:'Fraunces', serif;
  color:var(--ink);
  font-size:clamp(1.45rem,3vw,2rem);
}

.sk-notice-create-close {
  width:38px;
  height:38px;
  flex:0 0 auto;
  border:1px solid rgba(43,33,24,.1);
  border-radius:50%;
  background:rgba(181,80,46,.08);
  color:var(--ink);
  cursor:pointer;
  font-size:1.1rem;
}

.sk-notice-create-close:hover,
.sk-notice-create-close:focus-visible {
  background:rgba(181,80,46,.15);
  outline:none;
}

.sk-notice-create-form {
  flex:1;
  overflow:auto;
  padding:clamp(1rem,3vw,1.6rem) clamp(1rem,4vw,1.8rem) clamp(1.2rem,3vw,1.8rem);
  display:grid;
  gap:1rem;
}

.sk-notice-create-field { display:grid; gap:.45rem; }

.sk-notice-create-label {
  display:flex;
  align-items:center;
  gap:.4rem;
  font:600 .88rem 'Noto Sans Kannada', sans-serif;
  color:var(--ink);
}

.sk-notice-create-required { color:var(--rust); }

.sk-notice-create-help {
  margin:0;
  color:var(--ink-soft);
  font-size:.76rem;
  line-height:1.55;
}

.sk-notice-create-control {
  width:100%;
  min-height:44px;
  box-sizing:border-box;
  border:1px solid rgba(43,33,24,.13);
  border-radius:12px;
  background:rgba(255,255,255,.58);
  color:var(--ink);
  font:400 .92rem 'Work Sans','Noto Sans Kannada',sans-serif;
  padding:.7rem .8rem;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

textarea.sk-notice-create-control {
  min-height:120px;
  resize:vertical;
  line-height:1.6;
}

.sk-notice-create-control:focus {
  outline:none;
  border-color:rgba(181,80,46,.55);
  background:#fffaf2;
  box-shadow:0 0 0 3px rgba(181,80,46,.09);
}

.sk-notice-create-field.has-error .sk-notice-create-control,
.sk-notice-create-field.has-error .sk-notice-create-targets {
  border-color:rgba(181,80,46,.72);
}

.sk-notice-create-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}

.sk-notice-create-targets {
  display:grid;
  gap:.55rem;
  padding:.75rem;
  border:1px solid rgba(43,33,24,.1);
  border-radius:14px;
  background:rgba(255,255,255,.36);
}

.sk-notice-create-target {
  display:flex;
  align-items:center;
  gap:.65rem;
  min-height:40px;
  padding:.55rem .65rem;
  border-radius:10px;
  cursor:pointer;
  color:var(--ink);
  font-size:.88rem;
}

.sk-notice-create-target:hover { background:rgba(181,80,46,.06); }
.sk-notice-create-target input { accent-color:var(--rust); }

.sk-notice-create-event {
  display:grid;
  gap:1rem;
  padding:1rem;
  border:1px solid rgba(47,82,51,.13);
  border-radius:16px;
  background:rgba(47,82,51,.045);
}

.sk-notice-create-event[hidden],
.sk-notice-create-targets-group[hidden] { display:none; }

.sk-notice-create-status {
  min-height:1.2em;
  margin-top:-.2rem;
  color:var(--ink-soft);
  font-size:.82rem;
}

.sk-notice-create-status.is-error { color:var(--rust); }
.sk-notice-create-status.is-success { color:var(--banyan); }
.sk-notice-create-status.is-info { color:var(--ink-soft); }

.sk-notice-create-actions {
  display:flex;
  justify-content:flex-end;
  gap:.75rem;
  padding-top:.35rem;
  border-top:1px solid rgba(43,33,24,.08);
}

.sk-notice-create-submit {
  min-width:132px;
  min-height:44px;
  border:0;
  border-radius:12px;
  background:var(--rust);
  color:var(--sky-top);
  font:600 .88rem 'Noto Sans Kannada', sans-serif;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(181,80,46,.18);
}

.sk-notice-create-submit:hover:not(:disabled),
.sk-notice-create-submit:focus-visible:not(:disabled) {
  transform:translateY(-1px);
  box-shadow:0 11px 24px rgba(181,80,46,.24);
  outline:none;
}

.sk-notice-create-submit:disabled { cursor:wait; opacity:.72; }

body.sk-notice-create-open { overflow:hidden; }

@media (max-width:700px) {
  .sk-notice-board-foot {
    align-items:stretch;
    flex-direction:column;
    gap:.4rem;
  }

  .sk-notice-create-open-button,
  .sk-notice-view-all { text-align:right; }

  .sk-notice-create { padding:0; }

  .sk-notice-create-panel {
    width:100%;
    height:100%;
    max-height:100svh;
    border:0;
    border-radius:0;
  }

  .sk-notice-create-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  .sk-notice-create,
  .sk-notice-create-panel,
  .sk-notice-create-open-button,
  .sk-notice-create-control,
  .sk-notice-create-submit { transition:none; }
}

/* =========================================================
   NOTICE BOARD UI REFINEMENT — compact, aligned, self-evident
   ========================================================= */

/* One heading only: the visible board title. */
.sk-notice-board-head .sk-notice-kicker,
.sk-notice-full-head .sk-notice-kicker {
  display:none;
}

/* Reduce the large vertical air without making the board feel cramped. */
.sk-notice-board-head {
  align-items:center;
  padding:clamp(.85rem,2.4vw,1.25rem) clamp(1rem,3.5vw,1.7rem) .7rem;
}

.sk-notice-preview {
  gap:.45rem;
  padding:0 clamp(1rem,3.5vw,1.7rem) clamp(.85rem,2.4vw,1.2rem);
}

/* Stable four-column desktop rhythm: type | title | date | action. */
.sk-notice-preview-trigger {
  grid-template-columns:auto minmax(0,1fr) auto auto;
  gap:.65rem;
  min-height:52px;
  padding:.56rem .7rem;
}

.sk-notice-preview-trigger .sk-notice-type { grid-column:1; }
.sk-notice-preview-trigger strong { grid-column:2; min-width:0; }
.sk-notice-preview-date { grid-column:3; white-space:nowrap; }

/* A small Snehakoota-style doorway/arrow cue rather than a loose glyph. */
.sk-notice-preview-more {
  grid-column:4;
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border:1px solid rgba(181,80,46,.16);
  border-radius:50%;
  background:rgba(181,80,46,.07);
  color:var(--rust);
  font-size:0;
  line-height:1;
}

.sk-notice-preview-more::before {
  content:'↗';
  font-size:.9rem;
}

/* Full-board expansion uses a symmetric plus/minus cue in the same tile. */
.sk-notice-full-trigger {
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:.65rem;
  padding:.72rem .8rem;
}

.sk-notice-chevron {
  display:inline-grid;
  place-items:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border:1px solid rgba(181,80,46,.18);
  border-radius:50%;
  background:rgba(181,80,46,.07);
  color:var(--rust);
  font-size:0;
  line-height:1;
  transform:none !important;
}

.sk-notice-chevron::before {
  content:'+';
  font:500 1rem/1 'Work Sans', sans-serif;
}

.sk-notice-full-item.is-expanded .sk-notice-chevron::before { content:'−'; }

.sk-notice-full-detail {
  padding:0 .8rem .9rem;
}

.sk-notice-board-foot {
  padding:0 clamp(1rem,3.5vw,1.7rem) .85rem;
}

@media (max-width:700px) {
  .sk-notice-board-head {
    padding:.85rem 1rem .65rem;
  }

  .sk-notice-preview {
    padding:0 1rem .85rem;
  }

  .sk-notice-preview-trigger {
    grid-template-columns:auto minmax(0,1fr) auto;
    min-height:50px;
  }

  .sk-notice-preview-trigger .sk-notice-type {
    grid-column:1;
    grid-row:1;
  }

  .sk-notice-preview-trigger strong {
    grid-column:2;
    grid-row:1;
  }

  .sk-notice-preview-more {
    grid-column:3;
    grid-row:1;
  }
}


/* =========================================================
   NOTICE BOARD DELETE CONTROLS — visible only on expanded items
   ========================================================= */
.sk-notice-full-actions {
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-top:.8rem;
  margin-bottom:.8rem;
  padding:.7rem .75rem;
  border:1px solid rgba(181,80,46,.12);
  border-radius:12px;
  background:rgba(181,80,46,.035);
}

.sk-notice-delete {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:34px;
  padding:.4rem .72rem;
  border:1px solid rgba(181,80,46,.2);
  border-radius:999px;
  background:rgba(181,80,46,.07);
  color:var(--rust);
  font:600 .78rem/1 'Work Sans',sans-serif;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,opacity .16s ease;
}

.sk-notice-delete:hover,
.sk-notice-delete:focus-visible {
  background:rgba(181,80,46,.13);
  border-color:rgba(181,80,46,.34);
  outline:none;
}

.sk-notice-delete:disabled {
  opacity:.55;
  cursor:wait;
}

.sk-notice-delete-status {
  color:var(--ink-soft);
  font-size:.78rem;
}

@media (max-width:700px) {
  .sk-notice-full-actions {
    align-items:flex-start;
    flex-direction:column;
    gap:.45rem;
  }
}
