.vacation-stories{
  margin:22px 0 0;
  border:1px solid rgba(111,80,18,.16);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,253,246,.86),rgba(240,224,181,.4));
  overflow:hidden;
}
.vacation-stories>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:16px 19px;color:#795818;font-weight:850;
}
.vacation-stories>summary::-webkit-details-marker{display:none}
.vacation-stories>summary span{display:flex;align-items:center;gap:9px;font-size:1rem}
.vacation-stories>summary i{font-style:normal;color:#b58729}
.vacation-stories>summary b{
  min-width:0;height:auto;padding:0;border-radius:0;display:inline;
  background:transparent;color:#9a711e;font-size:.72rem;font-variant-numeric:tabular-nums;
}
.vacation-story-unread-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#b21f33;color:#fff;font-size:.65rem;font-style:normal;line-height:1}
.vacation-stories>summary small{font-weight:500;color:#7f7563;font-size:.68rem}
.vacation-stories[open]>summary{
  border-bottom:1px solid rgba(115,83,20,.12);
  background:rgba(224,193,116,.12);
}
.vacation-stories-inner{padding:0 22px 22px}
.vacation-story-mailbox{display:grid;grid-template-columns:minmax(220px,32%) minmax(0,1fr);gap:16px;padding-top:18px}
.vacation-story-inbox{display:flex;flex-direction:column;align-items:stretch;gap:8px;max-height:560px;overflow-x:hidden;overflow-y:auto;padding:2px 4px 2px 2px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.vacation-story-inbox-item{position:relative;display:grid;flex:0 0 auto;gap:4px;width:100%;min-height:64px;padding:13px 42px 13px 14px;border:1px solid rgba(154,111,25,.15);border-radius:13px;background:rgba(255,255,255,.55);box-shadow:none;color:#332e26;text-align:left}
.vacation-story-inbox-item:hover,.vacation-story-inbox-item.is-active{border-color:rgba(154,111,25,.42);background:#fff9e9}
.vacation-story-inbox-item.is-unread{font-weight:850;border-left:4px solid #b21f33;background:#fff}
.vacation-story-inbox-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vacation-story-inbox-meta{color:#877b67;font-size:.7rem;font-weight:500}
.vacation-story-inbox-hearts{position:absolute;right:12px;top:13px;color:#b21f33;font-size:.7rem}
.vacation-story-stage{min-height:260px;min-width:0}
.vacation-story{
  border:1px solid rgba(154,111,25,.2);border-radius:18px;padding:24px;
  background:rgba(255,255,255,.76);box-shadow:0 13px 30px rgba(92,64,15,.07);
}
.vacation-story[hidden]{display:none!important}
.vacation-story header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  padding-bottom:16px;border-bottom:1px solid rgba(154,111,25,.15);
}
.vacation-story header div{display:grid;gap:2px}
.vacation-story header span,.vacation-story time{
  color:#8b7d64;font-size:.78rem;letter-spacing:.03em;font-style:normal;
}
.vacation-story header strong{font-size:1rem}
.vacation-story h3{margin:22px 0 12px;font-size:clamp(1.5rem,3vw,2.25rem)}
.vacation-story-copy{font-size:1rem;line-height:1.75;color:#3d382f;white-space:normal}
.vacation-story-heart-form{margin-top:22px}
.vacation-story-heart{
  display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(178,31,51,.25);
  border-radius:999px;padding:9px 14px;background:#fff;color:#8b7d64;box-shadow:none;
}
.vacation-story-heart span{color:#b21f33;font-size:1.35rem;line-height:1}
.vacation-story-heart b{color:#b21f33}
.vacation-story-heart em{font-style:normal;font-size:.82rem}
.vacation-story-heart.is-loved{background:#b21f33;color:#fff;border-color:#b21f33}
.vacation-story-heart.is-loved span,.vacation-story-heart.is-loved b{color:#fff}
.vacation-story-owner-actions{display:flex;align-items:flex-start;gap:8px;margin-top:16px;padding-top:15px;border-top:1px solid rgba(154,111,25,.13)}
.vacation-story-owner-actions>details{flex:1}
.vacation-story-owner-actions>details>summary,.vacation-story-delete{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(154,111,25,.25);border-radius:12px;background:#fffaf0;color:#875f13;cursor:pointer;list-style:none;box-shadow:none}
.vacation-story-owner-actions>details>summary::-webkit-details-marker{display:none}
.vacation-story-owner-actions>details[open]>summary{margin-bottom:12px;background:#a97816;color:#fff}
.vacation-story-owner-actions>details form{display:grid;gap:12px;padding:15px;border:1px solid rgba(154,111,25,.18);border-radius:14px;background:#fffaf0}
.vacation-story-owner-actions>details label{display:grid;gap:6px;font-weight:700}
.vacation-story-owner-actions>details textarea{min-height:150px;resize:vertical}
.vacation-story-owner-actions>form{margin:0}
.vacation-story-delete{border-color:rgba(178,31,51,.25);background:#fff1f1;color:#b21f33}
.vacation-story-pagination{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:15px;
}
.vacation-story-pagination button{
  border:1px solid rgba(154,111,25,.28);border-radius:999px;background:#fffaf0;color:#765317;
  padding:10px 16px;box-shadow:none;
}
.vacation-story-pagination button:last-child{justify-self:end}
.vacation-story-pagination button:disabled{opacity:.35;cursor:default}
.vacation-story-pagination span{font-size:.82rem;color:#8b7d64;white-space:nowrap}
.vacation-story-compose{margin-top:18px;border-top:1px solid rgba(154,111,25,.18);padding-top:18px}
.vacation-story-compose>summary{cursor:pointer;color:#765317;font-weight:800;list-style:none}
.vacation-story-compose>summary::-webkit-details-marker{display:none}
.vacation-story-compose>summary span{
  display:inline-grid;place-items:center;width:30px;height:30px;margin-right:8px;
  border-radius:10px;background:#a97816;color:#fff;
}
.vacation-story-compose form{display:grid;gap:14px;margin-top:18px}
.vacation-story-compose label{display:grid;gap:7px;font-weight:700}
.vacation-story-compose textarea{resize:vertical;min-height:170px}
.vacation-story-compose button{justify-self:start}
@media(max-width:700px){
  .vacation-stories>summary{padding:15px 16px}
  .vacation-stories>summary small{display:none}
  .vacation-stories-inner{padding:0 12px 14px}
  .vacation-story{padding:17px}
  .vacation-story header{display:grid;gap:7px}
  .vacation-story-stage{min-height:0}
  .vacation-story-mailbox{grid-template-columns:1fr}
  .vacation-story-inbox{max-height:min(44vh,390px);padding-right:5px}
  .vacation-story-inbox-item{min-height:68px;padding:12px 42px 12px 13px;border-radius:12px}
  .vacation-story-inbox-title{font-size:.94rem;line-height:1.25}
  .vacation-story-pagination button{padding:9px 11px;font-size:.82rem}
  .vacation-story-heart em{display:none}
}

.vacation-archive-switch{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 18px;padding:7px;border:1px solid rgba(154,111,25,.18);border-radius:18px;background:rgba(255,252,241,.72)}
.vacation-archive-switch a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 15px;border-radius:13px;color:#765313;text-decoration:none;font-weight:800}
.vacation-archive-switch a.is-active{background:linear-gradient(135deg,#c99b35,#996510);color:#fff;box-shadow:0 10px 22px rgba(132,88,7,.18)}
.vacation-archive-switch small{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:rgba(154,111,25,.11);font-size:.72rem}
.vacation-archive-switch a.is-active small{background:rgba(255,255,255,.22);color:#fff}
.vacation-archived-label{display:inline-flex;margin:8px 0 2px;padding:5px 10px;border-radius:999px;background:#eee8d9;color:#756b59;font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.is-archived-vacation{box-shadow:0 12px 32px rgba(83,72,48,.08)}
@media(max-width:700px){
  .vacation-archive-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px}
  .vacation-archive-switch a{justify-content:center;min-width:0;padding:8px 9px;font-size:.83rem;text-align:center}
}
