/* =========================================================
   世界のライブカメラ（/livecam/）— style.css の上に重ねる
   ========================================================= */
.lc-hero{
  background:linear-gradient(135deg,#0b2447 0%,#15396b 60%,#2e7d32 150%);
  color:#fff;padding:54px 0 46px;
}
.lc-eyebrow{margin:0 0 12px;font-size:.78rem;letter-spacing:.28em;font-weight:700;color:#7fd38a;}
.lc-hero h1{margin:0 0 12px;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800;line-height:1.25;}
.lc-lead{margin:0;max-width:640px;color:#dbe6f5;line-height:1.85;font-size:1.02rem;}
.lc-lead strong{color:#fff;}

/* フィルタ */
.lc-filters{
  display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px;
  background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow);
}
.lc-field{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted);min-width:140px;}
.lc-field--grow{flex:1;min-width:180px;}
.lc-field span{font-weight:600;}
.lc-field select,.lc-field input{
  padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:.95rem;color:var(--ink);background:#fff;
}

.lc-status{margin:0 0 14px;color:var(--muted);font-size:.92rem;}
.lc-sub{margin:-6px 0 16px;color:var(--muted);font-size:.95rem;}
.lc-note{margin:14px 0 0;color:var(--muted);font-size:.82rem;}

/* グリッド */
.lc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;}
.lc-card{
  display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);
  border-radius:12px;overflow:hidden;box-shadow:var(--shadow);color:var(--ink);
  transition:transform .1s ease,box-shadow .1s ease;
}
.lc-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(11,36,71,.14);text-decoration:none;}
.lc-thumb{width:100%;height:148px;object-fit:cover;background:#dfe5ec;display:block;}
.lc-thumb--none{display:flex;align-items:center;justify-content:center;font-size:2rem;color:#9aa5b1;}
.lc-card-body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;}
.lc-cat{font-size:.72rem;font-weight:700;color:var(--grass);letter-spacing:.02em;}
.lc-card-body h3{margin:2px 0 0;font-size:1rem;color:var(--navy);line-height:1.4;}
.lc-loc{margin:0;color:var(--muted);font-size:.85rem;}
.lc-play{margin-top:6px;font-size:.85rem;font-weight:700;color:var(--accent);}

/* グリッド内ネイティブ広告（カメラと同サイズ・旅行＝楽天トラベル） */
.lc-card--ad{position:relative;}
.lc-cat--ad{align-self:flex-start;color:#fff;background:var(--accent);padding:1px 8px;border-radius:6px;}
.lc-thumb--travel{display:flex;align-items:center;justify-content:center;font-size:3.2rem;color:#fff;background:linear-gradient(135deg,#1aa3d8 0%,#0b6fb0 55%,#1e9e6a 130%);}
.lc-offscreen{position:absolute !important;left:-99999px;top:0;width:680px;}

.lc-card--yt{min-height:140px;}
.lc-card--yt .lc-card-body{padding:16px;gap:6px;}

.lc-more-wrap{text-align:center;margin:22px 0 0;}
.lc-attribution{margin:20px 0 0;color:var(--muted);font-size:.84rem;}
.lc-attribution a{color:var(--navy-2);text-decoration:underline;}

@media (max-width:760px){
  .lc-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}
  .lc-thumb{height:110px;}
}
