/* ===== NAV MESSAGE BADGE ===== */
.nav-msg-badge {
  background: var(--red); color: #fff;
  font-size: 9px; font-weight: 800; line-height: 1;
  min-width: 16px; height: 16px;
  border-radius: 8px; padding: 0 4px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-left: 4px; vertical-align: middle;
}
/* ===== NAV DOCUMENT BADGE ===== */
.nav-doc-badge {
  background: var(--gold); color: #fff;
  font-size: 9px; font-weight: 800; line-height: 1;
  min-width: 16px; height: 16px;
  border-radius: 8px; padding: 0 4px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-left: 4px; vertical-align: middle;
}
.nav-warn-badge {
  background: var(--red); color: #fff;
  font-size: 9px; font-weight: 800; line-height: 1;
  min-width: 16px; height: 16px;
  border-radius: 8px; padding: 0 4px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-left: 4px; vertical-align: middle;
}
/* ===== DOCUMENT PREVIEW OVERLAY ===== */
.doc-preview-overlay {
  position: fixed; inset: 0; z-index: 16000;
  background: rgba(0,0,0,.45); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .2s var(--ease);
}
.doc-preview-overlay.show { opacity: 1; }
.doc-preview-modal {
  background: var(--modal-bg, var(--card)); border-radius: var(--r3);
  box-shadow: var(--sh4); width: 90%; max-width: 480px;
  position: relative; overflow: hidden;
  transform: translateY(20px) scale(.97); transition: transform .25s var(--spring);
}
.doc-preview-overlay.show .doc-preview-modal { transform: translateY(0) scale(1); }
.doc-preview-close {
  position: absolute; top: 12px; right: 14px; z-index: 1;
  background: none; border: none; font-size: 22px; cursor: pointer;
  color: var(--t3); line-height: 1; padding: 4px;
}
.doc-preview-close:hover { color: var(--t1); }
.doc-preview-header {
  display: flex; align-items: center; gap: 14px;
  padding: 20px 20px 14px; border-bottom: 1px solid var(--border);
}
.doc-preview-body { padding: 14px 20px; }
.doc-preview-row {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 6px 0; font-size: 13px; color: var(--t1);
  border-bottom: 1px solid var(--border);
}
.doc-preview-row:last-child { border-bottom: none; }
.doc-preview-label { color: var(--t3); font-size: 12px; font-weight: 600; text-transform: uppercase; min-width: 90px; }
.doc-preview-actions {
  display: flex; align-items: center; gap: 10px; padding: 14px 20px 18px;
  border-top: 1px solid var(--border);
}
/* ===== MESSAGE TICKS ===== */
.msg-tick { font-size: 12px; color: rgba(255,255,255,0.50); margin-left: 5px; letter-spacing: -2px; font-weight: 700; vertical-align: middle; }
body:not(.dark-mode) .chat-message.outgoing .msg-tick { color: rgba(0,0,0,0.35); }
.msg-tick.read { color: #fff; }
body:not(.dark-mode) .chat-message.outgoing .msg-tick.read { color: rgba(0,0,0,0.70); }

/* ===== CALENDAR ===== */
.cal-wrap{position:relative;display:flex;height:800px;overflow:hidden;border-radius:var(--r3);border:1px solid var(--border);box-shadow:var(--sh1);}
.cal-layout{display:flex;flex:1;min-width:0;overflow:hidden;}
.cal-sidebar{width:210px;flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;padding:14px 12px;background:var(--card);gap:14px;transition:width .25s var(--ease),padding .25s var(--ease),border .25s var(--ease),opacity .2s var(--ease);}
.cal-sidebar{position:relative;}
.cal-sidebar.collapsed{width:0;padding:0;border-right:none;opacity:0;overflow:hidden;}
.cal-sidebar-toggle{font-size:13px;width:28px;height:28px;}
.cal-today-btn{width:100%;}
.cal-upcoming-title{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--t3);margin-bottom:8px;}
.cal-upcoming-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.cal-upcoming-section{flex:1;overflow-y:auto;min-height:0;}
.cal-upcoming-item{display:flex;align-items:flex-start;gap:7px;padding:7px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:opacity .15s;}
.cal-upcoming-item:last-child{border-bottom:none;}
.cal-upcoming-item:hover{opacity:.72;}
.cal-upcoming-item.cal-completed .cal-upcoming-name{text-decoration:line-through;opacity:.5;}
.cal-upcoming-body{flex:1;min-width:0;}
.cal-upcoming-name{font-size:12px;font-weight:600;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cal-upcoming-date{font-size:10px;color:var(--t3);margin-top:1px;}
.cal-main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--card);overflow:hidden;}
.cal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;gap:12px;flex-wrap:wrap;}
.cal-nav{display:flex;align-items:center;gap:10px;}
.cal-nav-btn{background:var(--over-h);border:1.5px solid var(--border);border-radius:var(--r1);color:var(--t1);font-size:20px;width:30px;height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);padding:0;line-height:1;}
.cal-nav-btn:hover{background:var(--gold-d);border-color:var(--gold);color:var(--gold);}
.cal-month-title{font-family:var(--fd);font-size:1.25rem;font-weight:600;color:var(--t1);min-width:190px;text-align:center;letter-spacing:.01em;}
.cal-actions{display:flex;gap:8px;align-items:center;}
.cal-grid{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;}
.cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border);flex-shrink:0;}
.cal-dow{padding:7px 4px;text-align:center;font-size:9px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--t3);}
.cal-cells{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;flex:1;min-height:0;overflow:hidden;}
.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:6px 5px;cursor:pointer;transition:background .12s;display:flex;flex-direction:column;gap:3px;}
.cal-cell:nth-child(7n){border-right:none;}
.cal-cell:hover{background:var(--over-h);}
.cal-cell.cal-other-month{opacity:.32;}
.cal-cell.cal-selected{background:var(--gold-d)!important;}
.cal-cell.cal-today .cal-day-num{background:var(--gold);color:#fff;border-radius:50%;font-weight:800;}
body.dark-mode .cal-cell.cal-today .cal-day-num{color:#000;}
.cal-day-num{font-size:11px;font-weight:600;color:var(--t2);width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0;}
.cal-events-wrap{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden;}
.cal-event-chip{display:flex;align-items:center;gap:4px;padding:3px 5px;border-radius:5px;cursor:pointer;transition:filter .12s;min-width:0;overflow:hidden;max-width:100%;}
.cal-event-chip:hover{filter:brightness(1.12);}
.cal-event-chip.cal-completed .cal-event-label{text-decoration:line-through;opacity:.5;}
.cal-event-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;}
.cal-event-label{font-size:11px;font-weight:700;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;max-width:80px;}
.cal-cell:hover .cal-event-label{max-width:none;overflow:visible;position:relative;z-index:10;background:inherit;padding-right:4px;}
.cal-chip-badge{font-size:10px;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:4px;background:rgba(255,255,255,.55);}
body.dark-mode .cal-chip-badge{background:rgba(0,0,0,.32);}
.cal-more{font-size:10px;color:var(--t3);font-weight:700;padding:1px 4px;}
/* Day panel */
.cal-day-panel{position:fixed;top:0;right:0;bottom:0;width:360px;transform:translateX(100%);background:var(--card);border-left:1px solid var(--border);box-shadow:var(--sh4);z-index:250;display:none;flex-direction:column;visibility:hidden;}
.cal-day-panel.open{display:flex;visibility:visible;transform:translateX(0);animation:calPanelSlideIn .3s var(--ease);}
@keyframes calPanelSlideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
.cal-day-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;}
.cal-day-panel-title{font-weight:700;font-size:13px;color:var(--t1);flex:1;min-width:0;}
.cal-day-panel-close{background:var(--over-h);border:1px solid var(--border);border-radius:var(--r1);color:var(--t2);width:26px;height:26px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0;margin-left:8px;}
.cal-day-panel-close:hover{color:var(--t1);background:var(--over);}
.cal-day-events{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:9px;min-height:0;}
.cal-day-empty{color:var(--t3);font-size:13px;text-align:center;padding:30px 0;line-height:1.8;}
.cal-day-event{background:var(--surface);border-radius:var(--r2);border:1px solid var(--border);border-left-width:3px;padding:11px 12px;transition:background .15s;}
.cal-day-event:hover{background:var(--over-h);}
.cal-day-event.cal-completed{opacity:.58;}
.cal-day-event-top{display:flex;gap:9px;margin-bottom:5px;}
.cal-day-event-icon{font-size:15px;flex-shrink:0;line-height:1.5;}
.cal-day-event-content{flex:1;min-width:0;}
.cal-day-event-title{font-weight:700;font-size:12px;color:var(--t1);margin-bottom:2px;word-break:break-word;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.cal-day-event.cal-completed .cal-day-event-title>span:first-child{text-decoration:line-through;}
.cal-day-event-time{font-size:10px;color:var(--t3);margin-bottom:2px;}
.cal-day-event-desc{font-size:11px;color:var(--t2);margin-bottom:3px;line-height:1.5;word-break:break-word;}
.cal-day-event-meta{font-size:10px;color:var(--t3);margin-top:2px;}
.cal-day-event-actions{display:flex;gap:4px;justify-content:flex-end;margin-top:7px;border-top:1px solid var(--border);padding-top:7px;}
.cal-day-panel-footer{padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0;}
.cal-auto-tag{font-size:9px;background:var(--surface-alt);color:var(--t3);padding:1px 5px;border-radius:4px;font-weight:800;letter-spacing:.5px;flex-shrink:0;}
.cal-shared-tag{font-size:9px;background:var(--gold-d);color:var(--gold);padding:1px 6px;border-radius:4px;font-weight:800;letter-spacing:.3px;flex-shrink:0;border:1px solid rgba(176,124,8,.2);}
.cal-recur-tag{font-size:9px;background:var(--blue-d);color:var(--blue);padding:1px 5px;border-radius:4px;font-weight:700;letter-spacing:.3px;flex-shrink:0;}
.cal-creator-tag{font-size:9px;background:var(--surface-alt);color:var(--t3);padding:1px 5px;border-radius:4px;font-weight:600;letter-spacing:.3px;flex-shrink:0;font-style:italic;}
@media(max-width:900px){
  .cal-sidebar{width:160px;}
  /* removed dead .cal-legend rule */
}
/* Hide Today button in header on desktop (sidebar has it); show on mobile */
@media(min-width:769px){
  .cal-today-header-btn{display:none;}
}
@media(max-width:768px){
  .cal-wrap{height:700px;}
  .cal-sidebar{width:0;padding:0;border-right:none;opacity:0;overflow:hidden;}
  .cal-day-panel{width:100%;left:0;}
  .cal-cell{padding:3px 2px;}
  .cal-event-chip{padding:1px 3px;}
  .cal-month-title{font-size:1rem;min-width:120px;}
  .cal-header{padding:8px 12px;gap:8px;}
  .cal-nav-btn{width:26px;height:26px;font-size:17px;}
}

/* Quill dark-theme integration */
.ql-toolbar.ql-snow{background:var(--surface);border-color:var(--border)!important;border-radius:var(--r1) var(--r1) 0 0;}
.ql-container.ql-snow{border-color:var(--border)!important;background:var(--card);color:var(--t1);border-radius:0 0 var(--r1) var(--r1);}
.ql-editor{min-height:300px;font-family:inherit;font-size:13px;color:var(--t1);}
.ql-editor.ql-blank::before{color:var(--t3);font-style:normal;}
.ql-snow .ql-stroke{stroke:var(--t2);}
.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:var(--t2);}
.ql-snow .ql-picker-label{color:var(--t2);}
.ql-snow .ql-picker-options{background:var(--card);border-color:var(--border);}
.ql-snow .ql-picker-item{color:var(--t1);}
.ql-snow .ql-picker-item:hover,.ql-snow .ql-picker-label:hover{color:var(--gold);}
.ql-snow .ql-active .ql-stroke{stroke:var(--gold);}
.ql-snow .ql-active .ql-fill{fill:var(--gold);}
.ql-snow .ql-active{color:var(--gold);}
.ql-snow a{color:var(--gold);}
.ql-tooltip{background:var(--card)!important;border-color:var(--border)!important;color:var(--t1)!important;box-shadow:var(--sh2)!important;}
.ql-tooltip input[type=text]{background:var(--surface);border-color:var(--border);color:var(--t1);}
.ql-tooltip .ql-action,.ql-tooltip .ql-remove{color:var(--gold);}
/* ===== ACTIVITY LOG FILTER GRID ===== */
.al-filter-grid{display:grid;grid-template-columns:1.2fr 1.5fr 0.8fr 0.8fr auto;gap:8px;margin-bottom:12px;align-items:end;}
@media(max-width:768px){
  .al-filter-grid{grid-template-columns:1fr 1fr;}
  .al-filter-grid>*:last-child{grid-column:1/-1;display:flex;gap:6px;}
}

/* ===== PAGINATION ===== */
.pagination-bar{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 0;}
.pagination-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--r1);padding:6px 14px;font-size:12px;color:var(--t2);cursor:pointer;transition:all .15s;}
.pagination-btn:hover:not(:disabled){background:var(--gold);color:#fff;border-color:var(--gold);}
.pagination-btn:disabled{opacity:.4;cursor:default;}
.pagination-info{font-size:12px;color:var(--t3);}

/* =========================================================
   PROPERTIES TAB — editorial card grid
   ========================================================= */
.prop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(540px,1fr));gap:20px;margin-top:4px;}
@media(max-width:900px){.prop-grid{grid-template-columns:1fr;}}

.prop-card{
  display:grid;grid-template-columns:38% 1fr;gap:0;
  background:var(--card,#fff);border:1px solid var(--border);
  border-radius:var(--r3);overflow:hidden;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),border-color .22s;
  position:relative;
}
.prop-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent 0%,var(--gold) 50%,transparent 100%);
  opacity:0;transition:opacity .22s var(--ease);pointer-events:none;z-index:1;
}
.prop-card:hover::before{opacity:1;}
.prop-card:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(11,26,42,.12),0 4px 12px rgba(11,26,42,.04);border-color:rgba(196,162,78,.32);}
@media(max-width:580px){.prop-card{grid-template-columns:1fr;}}

.prop-photo{
  position:relative;overflow:hidden;min-height:220px;cursor:pointer;
  background:linear-gradient(135deg,#e8e1d2 0%,#f5efe2 60%,#ebe3d1 100%);
}
.prop-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease);}
.prop-card:hover .prop-photo img{transform:scale(1.04);}
.prop-photo-placeholder{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:var(--gold);opacity:.55;gap:4px;
}
.prop-photo-placeholder i{font-size:42px;}
.prop-photo-placeholder span{font-size:10px;letter-spacing:.2em;font-weight:700;text-transform:uppercase;}

.prop-photo-count{
  position:absolute;top:12px;right:12px;
  background:rgba(11,26,42,.72);color:#fff;
  font-size:11px;font-weight:700;padding:5px 11px;border-radius:999px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;align-items:center;gap:5px;
}
.prop-photo-count i{font-size:10px;}

.prop-status-chip{
  position:absolute;bottom:12px;left:12px;
  font-size:10px;font-weight:800;letter-spacing:.09em;
  text-transform:uppercase;padding:5px 11px;border-radius:999px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.prop-status-chip.occupied{background:rgba(26,132,56,.82);color:#fff;}
.prop-status-chip.vacant{background:rgba(196,162,78,.88);color:#fff;}

.prop-info{padding:18px 22px 14px;display:flex;flex-direction:column;gap:10px;min-width:0;}
.prop-name{font-size:18px;font-weight:700;color:var(--t1);letter-spacing:-.012em;line-height:1.2;margin:0;}
.prop-address{font-size:12px;color:var(--t2);margin:-6px 0 0;line-height:1.45;display:flex;align-items:flex-start;gap:5px;}
.prop-address i{margin-top:2px;font-size:10px;color:var(--t3);}

.prop-facts{display:flex;flex-wrap:wrap;gap:14px 18px;padding:9px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.prop-fact{display:flex;flex-direction:column;gap:2px;min-width:80px;}
.prop-fact-label{font-size:9px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;color:var(--t3);}
.prop-fact-value{font-size:13px;font-weight:600;color:var(--t1);font-variant-numeric:tabular-nums;}
.prop-fact-value.muted{color:var(--t2);font-weight:500;}

.prop-rent{
  font-size:22px;font-weight:800;color:var(--gold);
  font-variant-numeric:tabular-nums;letter-spacing:-.018em;
  border-left:3px solid var(--gold);padding:2px 0 2px 12px;margin-top:2px;line-height:1.15;
  display:flex;align-items:baseline;gap:6px;
}
.prop-rent small{font-size:11px;color:var(--t3);font-weight:500;letter-spacing:0;}

.prop-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:10px;}
.prop-action{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 11px;border:1px solid var(--border);border-radius:var(--r1);
  font-size:11px;font-weight:700;color:var(--t2);background:transparent;
  cursor:pointer;transition:all .15s var(--ease);font-family:inherit;
}
.prop-action i{font-size:10px;}
.prop-action:hover{color:var(--t1);border-color:var(--gold);background:var(--gold-d);}
.prop-action.danger:hover{color:#fff;background:#C42B22;border-color:#C42B22;}
.prop-action.idealista{color:#e54a24;border-color:rgba(229,74,36,.32);}
.prop-action.idealista:hover{color:#fff;background:#e54a24;border-color:#e54a24;}

/* =========================================================
   CAROUSEL / LIGHTBOX
   ========================================================= */
.carousel-overlay{
  position:fixed;inset:0;background:rgba(8,14,22,.94);
  display:none;z-index:9999;opacity:0;
  transition:opacity .25s var(--ease);flex-direction:column;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
}
.carousel-overlay.show{display:flex;opacity:1;}

.carousel-top{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;gap:18px;}
.carousel-title-block{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.carousel-title{font-size:13px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;color:rgba(255,255,255,.55);}
.carousel-name{font-size:16px;font-weight:700;color:#fff;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.carousel-counter{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gold);letter-spacing:.08em;padding:4px 10px;border:1px solid rgba(196,162,78,.35);border-radius:999px;background:rgba(196,162,78,.08);}
.carousel-close,.carousel-action{
  background:none;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.85);
  width:36px;height:36px;border-radius:50%;font-size:20px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;line-height:1;padding:0;
  transition:all .18s var(--ease);flex-shrink:0;
}
.carousel-action{font-size:13px;}
.carousel-close:hover,.carousel-action:hover{background:var(--gold);color:#fff;border-color:var(--gold);transform:scale(1.05);}
.carousel-action.primary-active{background:var(--gold);color:#fff;border-color:var(--gold);cursor:default;}
.carousel-action.primary-active:hover{transform:none;}
.carousel-action.danger-hover:hover{background:#C42B22;border-color:#C42B22;}

.carousel-primary-badge{
  position:absolute;top:14px;left:14px;z-index:2;
  background:var(--gold);color:#fff;font-size:10px;font-weight:800;
  letter-spacing:.12em;padding:5px 11px;border-radius:999px;
  display:flex;align-items:center;gap:5px;
  box-shadow:0 4px 14px rgba(196,162,78,.4);
}
.carousel-primary-badge i{font-size:9px;}

/* Drag-to-reorder in the photos modal */
.photo-tile[draggable="true"]{cursor:grab;}
.photo-tile[draggable="true"]:active{cursor:grabbing;}
.photo-tile[draggable="true"]:hover .photo-drag-handle{background:var(--gold);}

.carousel-stage{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:0 72px;min-height:0;}
.carousel-image-wrap{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center;position:relative;}
.carousel-image{max-width:100%;max-height:calc(100vh - 260px);border-radius:var(--r2);object-fit:contain;box-shadow:0 28px 72px rgba(0,0,0,.6);}

.carousel-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.88);width:48px;height:48px;border-radius:50%;
  font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .2s var(--ease);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.carousel-nav:hover{background:var(--gold);color:#fff;border-color:var(--gold);transform:translateY(-50%) scale(1.07);}
.carousel-nav.prev{left:18px;}
.carousel-nav.next{right:18px;}
.carousel-nav:disabled{opacity:.2;cursor:not-allowed;}

.carousel-caption{color:rgba(255,255,255,.82);text-align:center;font-size:13px;padding:10px 24px 6px;max-width:720px;margin:0 auto;min-height:24px;}
.carousel-thumbs{display:flex;gap:8px;padding:10px 28px 22px;justify-content:center;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;}
.carousel-thumb{width:76px;height:52px;border-radius:6px;cursor:pointer;overflow:hidden;border:2px solid transparent;transition:border-color .2s,transform .2s,opacity .2s;flex-shrink:0;opacity:.55;}
.carousel-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.carousel-thumb:hover{transform:translateY(-2px);opacity:.9;}
.carousel-thumb.active{border-color:var(--gold);opacity:1;}

@media(max-width:640px){
  .carousel-stage{padding:0 14px;}
  .carousel-nav{width:40px;height:40px;}
  .carousel-image{max-height:calc(100vh - 300px);}
}
