/* v110 Seoul design polish — shared visual layer */
:root{
  --v110-bg:#f6f1e8;
  --v110-paper:#fffdf8;
  --v110-ink:#26231f;
  --v110-muted:#756e63;
  --v110-line:#ddd3c4;
  --v110-green:#315d47;
  --v110-green-soft:#eef4ef;
  --v110-gold:#9a6a2c;
  --v110-shadow:0 10px 28px rgba(58,48,31,.07);
  --v110-shadow-hover:0 14px 34px rgba(49,93,71,.12);
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a,button,input,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(49,93,71,.22);outline-offset:2px}

/* Shared section rhythm */
.hero{padding-top:clamp(28px,4vw,50px)}
.hero h1{line-height:1.12}
.section-head{margin-bottom:12px}
.section-head h2,.map-title h2{letter-spacing:-.025em}

/* Seoul overview */
.my-record-card,.map-card,.featured-section,.district-summary,.all-temples-section{
  scroll-margin-top:82px;
}
.my-record-card{
  border:1px solid #d8cfbf!important;
  border-radius:20px!important;
  box-shadow:var(--v110-shadow);
  background:linear-gradient(135deg,#fffdf8 0%,#f7f2e7 100%)!important;
}
.my-record-open{min-height:44px;border-radius:12px!important;padding-inline:16px!important;transition:.16s ease}
.my-record-open:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(49,93,71,.12)}
.my-record-stat{border-radius:13px!important}

.map-card{box-shadow:var(--v110-shadow);border-radius:22px!important}
.admin-map{box-shadow:inset 0 0 0 1px rgba(110,96,74,.08)}
.legend{padding:5px 0 2px}

.featured-list,.district-cards,.all-temple-list{align-items:stretch}
.feature-card,.district-card,.all-temple-card{
  min-height:88px;
  border-radius:15px!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.feature-card:hover,.district-card:hover,.all-temple-card:hover{
  transform:translateY(-2px);
  border-color:#9cb0a1!important;
  box-shadow:var(--v110-shadow-hover)!important;
}
.feature-card b,.all-temple-card b{letter-spacing:-.02em}
.temple-search-wrap input{min-height:46px;border-radius:13px!important;background:#fffdfb!important}

/* District detail cards */
.topbar{box-shadow:0 1px 0 rgba(70,60,45,.05)}
.nav-row{gap:8px!important;flex-wrap:wrap}
.nav-btn{min-height:42px;border-radius:11px!important;display:inline-flex;align-items:center;justify-content:center}
.breadcrumb{margin-top:14px!important}
.list{gap:11px!important}
.list .card{
  border-radius:16px!important;
  padding:16px!important;
  min-height:104px;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.list .card:hover{transform:translateY(-2px);box-shadow:var(--v110-shadow-hover);border-color:#9cb0a1!important}
.card-head{padding-right:64px}
.type-badge{border-radius:999px!important}

/* Temple detail */
.panel{
  border-radius:18px!important;
  box-shadow:0 7px 20px rgba(58,48,31,.045);
}
.record-top-panel{box-shadow:var(--v110-shadow)!important}
.quick-link,.media-tab,.point-chip,.facility-card,.source-grid a,.legend-item{transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}
.quick-link:hover,.point-chip:hover,.facility-card:hover,.source-grid a:hover,.legend-item:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(49,93,71,.07)}
.media-card img{border-radius:0}
.real-map-wrap{box-shadow:var(--v110-shadow)}
.restaurant-card,.nearby-card{border-radius:13px!important}

/* Home */
.feature,.menu-card,.quick{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.feature:hover,.menu-card:hover,.quick-links a:hover{transform:translateY(-2px);box-shadow:var(--v110-shadow-hover);border-color:#9cb0a1!important}
.search input{min-height:48px}.search button{min-height:48px}

/* Tablet */
@media(max-width:900px){
  .shell{width:min(100% - 24px,1050px)}
  .featured-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .district-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .all-temple-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card-head{padding-right:54px}
}

/* Mobile */
@media(max-width:640px){
  body{font-size:15px}
  .shell{width:calc(100% - 20px)!important;padding-left:0!important;padding-right:0!important}
  .hero{padding-top:24px!important}
  .hero h1{font-size:clamp(30px,9vw,38px)!important}
  .hero p{line-height:1.6}
  .map-card{padding:13px!important;border-radius:17px!important}
  .map-title,.section-head{align-items:flex-start!important;flex-direction:column;gap:4px!important}
  .featured-list,.district-cards,.all-temple-list{grid-template-columns:1fr!important;gap:9px!important}
  .feature-card,.district-card,.all-temple-card{min-height:0;padding:14px!important}
  .my-record-card{padding:15px!important;border-radius:17px!important}
  .my-record-stats{gap:7px!important}
  .my-record-stat{padding:10px!important}
  .record-modal-panel{width:min(94vw,560px)!important;max-height:86vh!important}
  .nav-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .nav-btn{width:100%;font-size:13px!important;padding:9px 8px!important}
  .list .card{padding:14px!important;border-radius:14px!important;min-height:0}
  .card-head{padding-right:50px}
  .record-top-panel{padding:15px!important}
  .record.record-top{gap:8px!important}
  .quick-link{min-width:0!important}
  .facility-grid{gap:8px!important}
  .real-nearby-map{height:280px!important}
  .media-card img{height:230px!important}
  .primary-grid,.menu-grid{gap:11px!important}
  .feature{min-height:210px!important;padding:20px!important;border-radius:20px!important}
  .menu-card{min-height:0!important;padding:17px!important}
}

/* Small phone */
@media(max-width:420px){
  .my-record-stats{grid-template-columns:1fr 1fr!important}
  .my-record-open{width:100%;margin-top:8px}
  .nav-row{grid-template-columns:1fr 1fr}
  .record.record-top{grid-template-columns:1fr!important}
  .record.record-top textarea{grid-column:auto!important}
  .visit-overview{grid-template-columns:1fr!important}
}
