
/*
Theme Name: mishmashroom-reference-v53
Author: OpenAI
Version: 53.0
Description: MishMashRoom theme with dashboard-editable homepage content, dashboard-editable homepage MENU, database-driven NEWS, and RECORDS & VINTAGE.
Text Domain: mishmashroom-reference
*/
:root{
  --bg:#050505;
  --panel:#0c0c0c;
  --panel-2:#121212;
  --line:#222;
  --red:#e1261c;
  --red-deep:#d6201a;
  --text:#f3f0eb;
  --muted:#cfc8be;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;letter-spacing:.02em}
a{color:inherit}
img{max-width:100%;display:block}
.container{width:min(1280px, calc(100vw - 64px));margin:0 auto}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(0,0,0,.78);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.logo-wrap{display:flex;align-items:center;gap:16px;text-decoration:none}
.logo-wrap .custom-logo-link,.logo-wrap .fallback-logo-link{width:86px;height:86px;flex:0 0 86px;display:block}
.logo-wrap .custom-logo,.logo-wrap img{width:86px !important;height:86px !important;max-width:86px !important;max-height:86px !important;object-fit:contain;background:#fff;border-radius:999px;padding:8px;display:block}
.brand-text{display:block;line-height:1.08;text-decoration:none}
.brand-text strong{display:block;font-size:26px;font-weight:700}
.brand-text small{display:block;font-size:18px;color:#fff;margin-top:8px}
.site-nav a{text-decoration:none;margin-left:30px;font-size:14px;font-weight:700;letter-spacing:.12em;color:#fff;opacity:.9}
.site-nav a:hover{color:var(--red)}
.hero{position:relative;min-height:860px;background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.62) 32%,rgba(0,0,0,.28) 60%,rgba(0,0,0,.18) 100%), var(--mmr-hero-bg) center/cover no-repeat;display:flex;align-items:center;padding-top:120px}
.hero-content{max-width:540px;padding:70px 0 96px}
.hero-title{font-size:86px;line-height:.93;letter-spacing:-.04em;font-weight:900;margin:0 0 24px}
.hero-title .accent{color:var(--red)}
.hero-copy{font-size:18px;line-height:2.0;color:#f2efe8;margin:0 0 34px}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-width:180px;padding:18px 28px;border:1px solid rgba(255,255,255,.55);color:#fff;text-decoration:none;font-weight:700;background:rgba(0,0,0,.15)}
.button.primary{border-color:var(--red);background:transparent}
.section{padding:92px 0}
.section-title{font-size:56px;line-height:1;margin:0 0 28px;font-weight:900;letter-spacing:-.03em}
.eyeline{width:42px;height:2px;background:var(--red);margin:0 0 20px}
.about-grid{display:grid;grid-template-columns:1.03fr 1.4fr;gap:46px;align-items:center}
.about-text p{font-size:19px;line-height:2;margin:0 0 18px;color:#f1eee7}
.image-collage{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#111;border:1px solid #171717}
.image-collage img{width:100%;height:340px;object-fit:cover}
.news{background:linear-gradient(180deg,#ef2f24 0%, #cf1d16 100%);color:#fff}
.news-inner{display:grid;grid-template-columns:220px 1fr auto;gap:24px;align-items:start}
.news-title{font-size:56px;font-weight:900;line-height:1;margin:0}
.news-list{display:grid;gap:16px}
.news-item{display:grid;grid-template-columns:120px 100px 1fr;gap:18px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.28);align-items:center}
.badge{display:inline-block;padding:5px 12px;background:#111;color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;text-align:center}
.news-viewall{font-weight:700;text-decoration:none;white-space:nowrap}
.schedule{background:#060606}
.schedule-box{border:1px solid var(--line);background:#0b0b0b;padding:34px}
.schedule-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.schedule-top h3{margin:0;font-size:40px;line-height:1;font-weight:900}
.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.calendar .head{font-size:13px;font-weight:700;color:#9e9488;text-align:center;padding-bottom:8px}
.calendar .day{border:1px solid #262626;background:#111;min-height:86px;padding:10px;font-size:18px;font-weight:700}
.calendar .empty{background:transparent;border-color:transparent}
.calendar .event{background:#18110f;border-color:#6b2d28;color:#fff}
.calendar .closed{background:#1b0b0a;border-color:#5d2522;color:#e29a95}
.calendar .special{background:#101713;border-color:#294a38;color:#cfe8da}
.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:#d7d0c5;margin-top:18px}
.legend span::before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}
.legend .open::before{background:#999}
.legend .eventlabel::before{background:#3467c8}
.legend .closelabel::before{background:#a53b35}
.legend .speciallabel::before{background:#397551}
.records{background:#080808}
.records-header,.info-header{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}
.records-grid{display:grid;grid-template-columns:repeat(var(--mmr-records-columns,3),minmax(0,1fr));gap:24px}
.record-card{display:block;text-decoration:none;background:#0b0b0b;border:1px solid #1d1d1d;padding:16px;color:#f2efe8}
.record-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border:0;background:transparent}
.record-card .meta{padding-top:12px;font-size:15px;line-height:1.45;color:#f2efe8}
.record-card .meta strong{display:block;font-size:18px;color:#fff}
.record-card .price{padding-top:10px;font-size:17px;font-weight:700;color:#fff}
.record-card-editor{min-height:100%;}
.record-card-editor .record-card-link{display:block;text-decoration:none;color:inherit}
.record-card-editor .record-card-post-title{font-size:20px;line-height:1.35;margin:0 0 14px;color:#fff;font-weight:800}
.record-card-editor .record-card-content{font-size:15px;line-height:1.55;color:#f2efe8}
.record-card-editor .record-card-content > *:first-child{margin-top:0}
.record-card-editor .record-card-content > *:last-child{margin-bottom:0}
.record-card-editor .record-card-content p{margin:10px 0;color:#fff;font-weight:700}
.record-card-editor .record-card-content .wp-block-image{margin:0 0 12px}
.record-card-editor .record-card-content .wp-block-image img{width:100%;height:auto;object-fit:contain}

.record-card .record-card-image{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:transparent;margin:0 0 14px}
.record-card-summary{font-size:15px;line-height:1.55;color:#fff;font-weight:700;margin-top:10px}
.record-single-image{max-width:720px;margin:0 0 34px}
.record-single-summary{font-size:20px;line-height:1.65;color:#fff;font-weight:700;margin:0 0 20px;max-width:760px}
.record-single-price{font-size:22px;line-height:1.45;font-weight:800;color:#fff;margin:0 0 28px}
.record-card-editor .record-card-content h1,
.record-card-editor .record-card-content h2,
.record-card-editor .record-card-content h3{font-size:18px;line-height:1.35;margin:10px 0;color:#fff}
.records-placeholder{grid-column:1/-1;padding:28px;border:1px solid var(--line);background:#101010;color:var(--muted)}
.record-single-price{display:inline-block;margin:0 0 28px;padding:10px 16px;border:1px solid #343434;background:#101010;font-size:20px;font-weight:800;color:#fff}
.single-body{max-width:860px;font-size:18px;line-height:1.9;color:#f2efe8}
.single-body img{height:auto}
.archive-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:900px){.archive-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.archive-list{grid-template-columns:1fr}}
.information{background:#050505;padding-top:84px}
.info-grid{display:grid;grid-template-columns:1fr 1.1fr .8fr;gap:34px;align-items:start}
.info-list{display:grid;grid-template-columns:120px 1fr;gap:16px 22px;font-size:17px;line-height:1.7}
.info-list dt{font-weight:700;color:#fff}
.info-list dd{margin:0;color:#f2efe8}
.map-box img,.access-photo img{width:100%;height:310px;object-fit:cover;border:1px solid #1d1d1d}
.site-footer{background:linear-gradient(180deg,#e63a2d 0%,#c72018 100%);text-align:center;padding:18px 0;color:#fff;font-size:14px;margin-top:46px}
@media (max-width: 1100px){
  .records-grid{grid-template-columns:repeat(2,1fr)}
  .info-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 860px){
  .container{width:min(100vw - 28px, 1280px)}
  .header-inner{padding:12px 0}
  .logo-wrap .custom-logo-link,.logo-wrap .fallback-logo-link{width:64px;height:64px;flex-basis:64px}
  .logo-wrap .custom-logo,.logo-wrap img{width:64px !important;height:64px !important;max-width:64px !important;max-height:64px !important}
  .brand-text strong{font-size:22px}
  .brand-text small{font-size:15px;margin-top:4px}
  .site-nav{display:none}
  .hero{min-height:740px;padding-top:88px}
  .hero-content{padding:32px 0 70px}
  .hero-title{font-size:52px}
  .hero-copy,.about-text p{font-size:16px}
  .about-grid,.news-inner,.info-grid{grid-template-columns:1fr}
  .news-title,.section-title,.schedule-top h3{font-size:38px}
  .news-item{grid-template-columns:1fr;gap:8px}
  .records-grid{grid-template-columns:1fr}
}


/* v12: Google Calendar / Google Map embed */
.embed-panel{
  background:#0b0b0b;
  border:1px solid var(--line);
  padding:26px;
}

.embed-frame{
  width:100%;
  height:640px;
  border:0;
  display:block;
  background:#111;
}

.calendar-note{
  color:#cfc8be;
  font-size:14px;
  line-height:1.8;
  margin-top:16px;
}

.map-box iframe{
  width:100%;
  height:310px;
  border:0;
  display:block;
  filter:grayscale(.15) contrast(1.05);
}

.embed-placeholder{
  min-height:360px;
  border:1px dashed #444;
  background:#101010;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#aaa;
  line-height:1.8;
  padding:28px;
}

@media (max-width:860px){
  .embed-frame{
    height:520px;
  }
}


/* v13 content structure */
.section-subtitle{
  color:#cfc8be;
  font-size:18px;
  line-height:1.9;
  margin:0 0 28px;
}

.two-card-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:28px;
}

.three-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.content-card{
  background:#111;
  border:1px solid #242424;
  padding:28px;
}

.content-card h3{
  margin:0 0 16px;
  font-size:26px;
  line-height:1.2;
}

.content-card p{
  color:#eee7dc;
  line-height:1.9;
  margin:0 0 14px;
}

.content-card-link{
  display:block;
  text-decoration:none;
  transition:.18s ease;
}

.content-card-link:hover{
  border-color:var(--red);
  transform:translateY(-2px);
}

.content-card-more{
  display:inline-block;
  margin-top:8px;
  color:#fff;
  font-weight:700;
  border-bottom:1px solid var(--red);
}

.records-category-grid{
  margin-bottom:34px;
}

.content-card ul{
  margin:0;
  padding-left:1.2em;
  color:#eee7dc;
  line-height:1.9;
}

.link-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.link-card{
  display:block;
  text-decoration:none;
  background:#111;
  border:1px solid #292929;
  padding:22px;
  min-height:120px;
  transition:.18s ease;
}

.link-card:hover{
  border-color:var(--red);
  transform:translateY(-2px);
}

.link-card strong{
  display:block;
  font-size:20px;
  margin-bottom:10px;
}

.link-card span{
  display:block;
  color:#cfc8be;
  font-size:14px;
  line-height:1.5;
  word-break:break-all;
}

.band-section{
  background:#070707;
  border-top:1px solid #151515;
}

.band-hero{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:36px;
  align-items:start;
}

.band-callout{
  background:linear-gradient(135deg,#19100f,#070707 68%);
  border:1px solid #38211f;
  padding:34px;
}

.band-callout h3{
  font-size:36px;
  margin:0 0 18px;
}

.band-callout p{
  color:#eee7dc;
  line-height:1.9;
}

.access-note{
  color:#cfc8be;
  font-size:14px;
  line-height:1.8;
}

.news-placeholder{
  border:1px dashed #444;
  padding:28px;
  color:#cfc8be;
  line-height:1.9;
  background:#101010;
}

@media (max-width: 1100px){
  .link-grid{grid-template-columns:repeat(2,1fr)}
  .three-card-grid{grid-template-columns:1fr}
  .band-hero{grid-template-columns:1fr}
}

@media (max-width: 860px){
  .two-card-grid,
  .link-grid{
    grid-template-columns:1fr;
  }
}


/* v15: hamburger menu for all screen sizes */
.site-header{
  z-index:1000;
}

.header-inner{
  position:relative;
}

.menu-toggle{
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(0,0,0,.35);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
  padding:0;
}

.menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:#fff;
  transition:.18s ease;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1){
  transform:translateY(8px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:nth-child(2){
  opacity:0;
}

.menu-toggle[aria-expanded="true"] span:nth-child(3){
  transform:translateY(-8px) rotate(-45deg);
}

.site-nav{
  display:none !important;
  position:absolute;
  top:calc(100% + 14px);
  right:0;
  width:min(340px, calc(100vw - 32px));
  background:rgba(5,5,5,.96);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 60px rgba(0,0,0,.45);
  padding:16px;
}

.site-nav.is-open{
  display:block !important;
}

.site-nav a{
  display:block;
  margin:0;
  padding:14px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:14px;
  letter-spacing:.10em;
}

.site-nav a:last-child{
  border-bottom:none;
}

.site-nav a:hover{
  background:#151515;
}

@media (max-width:860px){
  .menu-toggle{
    width:44px;
    height:44px;
  }

  .site-nav{
    top:calc(100% + 10px);
    right:0;
  }
}


/* v16: ACCESS section simplified */
.information .info-grid{
  grid-template-columns:1fr 1.4fr;
}

@media (max-width:1100px){
  .information .info-grid{
    grid-template-columns:1fr;
  }
}


/* v17: SNS link logos */
.link-card-top{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:10px;
}

.link-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #333;
  background:#0b0b0b;
  border-radius:10px;
}

.link-icon svg{
  width:24px;
  height:24px;
  fill:#fff;
  display:block;
}

.link-icon.blog svg,
.link-icon.web svg{
  fill:none;
  stroke:#fff;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.link-card strong{
  margin-bottom:0;
}

.link-card span{
  margin-top:6px;
}

.link-card-body{
  display:block;
}


/* v18: official icon file support */
.link-icon img{
  width:24px;
  height:24px;
  object-fit:contain;
  display:block;
}

.link-icon-fallback{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  font-size:11px;
  font-weight:700;
  color:#fff;
  line-height:1;
  text-align:center;
}


/* v20: SNS official icon centering fix */
.link-card-top{
  align-items:center;
}

.link-icon{
  position:relative;
  overflow:hidden;
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.link-icon img{
  position:absolute;
  top:50%;
  left:50%;
  width:30px !important;
  height:30px !important;
  max-width:30px !important;
  max-height:30px !important;
  min-width:0 !important;
  min-height:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:translate(-50%, -50%);
  -webkit-transform:translate(-50%, -50%);
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  display:block !important;
}

.link-icon-fallback{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  -webkit-transform:translate(-50%, -50%);
}

@media (max-width:860px){
  .link-icon{
    width:46px;
    height:46px;
    flex-basis:46px;
  }

  .link-icon img{
    width:29px !important;
    height:29px !important;
    max-width:29px !important;
    max-height:29px !important;
  }
}


/* v21: render SNS icons as centered background image instead of img */
.link-icon{
  background-color:#0b0b0b;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:30px 30px !important;
}

.link-icon.has-custom-icon{
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:30px 30px !important;
}

.link-icon.has-custom-icon img{
  display:none !important;
}

.link-icon-fallback{
  pointer-events:none;
}


.link-icon-bg{
  display:block !important;
  width:30px !important;
  height:30px !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:contain !important;
}


/* v22: hide text label when official/custom icon is set */
.link-card.has-brand-icon .link-card-title{
  display:none;
}

.link-card.has-brand-icon .link-card-top{
  margin-bottom:12px;
}

.link-card.has-brand-icon .link-icon{
  width:56px;
  height:56px;
  flex-basis:56px;
}

.link-card.has-brand-icon .link-icon-bg{
  width:34px !important;
  height:34px !important;
}


/* v23: dashboard editable content + tight logo handling */
.logo-wrap .custom-logo-link,
.logo-wrap .fallback-logo-link{
  width:var(--mmr-logo-size);
  height:var(--mmr-logo-size);
  flex:0 0 var(--mmr-logo-size);
  overflow:hidden;
  border-radius:999px;
  display:block;
  background:transparent;
}

.logo-wrap .custom-logo,
.logo-wrap img{
  width:var(--mmr-logo-size) !important;
  height:var(--mmr-logo-size) !important;
  max-width:var(--mmr-logo-size) !important;
  max-height:var(--mmr-logo-size) !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  border-radius:999px;
  padding:0 !important;
  margin:0 !important;
  display:block;
}

.map-placeholder{
  min-height:310px;
}

.link-card.has-brand-icon .link-card-body{
  margin-top:8px;
}

@media (max-width:860px){
  .logo-wrap .custom-logo-link,
  .logo-wrap .fallback-logo-link{
    width:calc(var(--mmr-logo-size) * .78);
    height:calc(var(--mmr-logo-size) * .78);
    flex-basis:calc(var(--mmr-logo-size) * .78);
  }
  .logo-wrap .custom-logo,
  .logo-wrap img{
    width:calc(var(--mmr-logo-size) * .78) !important;
    height:calc(var(--mmr-logo-size) * .78) !important;
    max-width:calc(var(--mmr-logo-size) * .78) !important;
    max-height:calc(var(--mmr-logo-size) * .78) !important;
  }
}

/* v24: hard fix for uploaded SNS PNG centering */
.link-card .link-icon{
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1 !important;
  box-sizing:border-box !important;
}

.link-card.has-brand-icon .link-card-top{
  align-items:center !important;
  margin-bottom:14px;
}

.link-card.has-brand-icon .link-icon{
  width:82px !important;
  height:82px !important;
  flex:0 0 82px !important;
  border-radius:18px;
  background:#0b0b0b;
  background-image:none !important;
}

.link-card.has-brand-icon .link-icon-bg{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  right:auto !important;
  bottom:auto !important;
  width:52px !important;
  height:52px !important;
  max-width:52px !important;
  max-height:52px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  transform:translate(-50%, -50%) !important;
  -webkit-transform:translate(-50%, -50%) !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:contain !important;
  pointer-events:none !important;
}

.link-card.has-brand-icon .link-card-body{
  display:block;
  margin-top:0 !important;
}

@media (max-width:860px){
  .link-card.has-brand-icon .link-icon{
    width:72px !important;
    height:72px !important;
    flex-basis:72px !important;
    border-radius:16px;
  }
  .link-card.has-brand-icon .link-icon-bg{
    width:46px !important;
    height:46px !important;
    max-width:46px !important;
    max-height:46px !important;
  }
}

/* v25: database-driven NEWS */
.news-item-link{
  color:#fff;
  text-decoration:none;
  transition:.16s ease;
}

.news-item-link:hover{
  background:rgba(0,0,0,.12);
  padding-left:8px;
}

.news-item-title{
  display:block;
  color:#fff;
  font-size:16px;
  line-height:1.5;
  margin:0 0 4px;
}

.news-item-summary{
  display:block;
  color:#fff;
  opacity:.92;
  font-size:14px;
  line-height:1.6;
}

.archive-main,
.single-main{
  padding-top:112px;
}

.archive-hero{
  background:#070707;
  padding-bottom:44px;
}

.news-archive-section{
  padding-top:40px;
}

.news-archive-list{
  display:grid;
  gap:22px;
}

.news-archive-card{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:26px;
  padding:24px;
  background:#101010;
  border:1px solid #242424;
}

.news-archive-thumb img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border:1px solid #222;
}

.news-archive-meta{
  display:flex;
  gap:12px;
  align-items:center;
  color:#cfc8be;
  font-size:14px;
  margin-bottom:12px;
}

.news-archive-body h2{
  margin:0 0 12px;
  font-size:28px;
  line-height:1.3;
}

.news-archive-body h2 a{
  text-decoration:none;
}

.news-archive-body h2 a:hover{
  color:var(--red);
}

.news-archive-body p{
  margin:0;
  color:#eee7dc;
  line-height:1.8;
}

.pagination-wrap{
  margin-top:34px;
}

.pagination-wrap .nav-links{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.pagination-wrap a,
.pagination-wrap span{
  display:inline-flex;
  min-width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid #333;
  text-decoration:none;
  color:#fff;
}

.pagination-wrap .current{
  background:var(--red);
  border-color:var(--red);
}

.single-news-inner{
  max-width:900px;
}

.single-news-thumb{
  margin:28px 0;
}

.single-news-thumb img{
  width:100%;
  max-height:520px;
  object-fit:cover;
  border:1px solid #222;
}

.single-news-content{
  color:#eee7dc;
  font-size:18px;
  line-height:2;
}

.single-news-content a{
  color:#fff;
  text-decoration:underline;
  text-decoration-color:var(--red);
}

.back-link{
  margin-top:34px;
}

.back-link a{
  color:#fff;
  text-decoration:none;
  font-weight:700;
}

@media (max-width:860px){
  .archive-main,
  .single-main{
    padding-top:88px;
  }

  .news-archive-card{
    grid-template-columns:1fr;
  }
}


/* v27: keep uploaded SNS icons inside the original icon frame */
.link-card.has-brand-icon .link-card-top{
  align-items:center !important;
  margin-bottom:12px !important;
}

.link-card.has-brand-icon .link-icon{
  width:48px !important;
  height:48px !important;
  flex:0 0 48px !important;
  border-radius:10px !important;
  background:#0b0b0b !important;
}

.link-card.has-brand-icon .link-icon-bg{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  width:90% !important;
  height:90% !important;
  max-width:90% !important;
  max-height:90% !important;
  transform:translate(-50%, -50%) !important;
  -webkit-transform:translate(-50%, -50%) !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:contain !important;
}

@media (max-width:860px){
  .link-card.has-brand-icon .link-icon{
    width:46px !important;
    height:46px !important;
    flex-basis:46px !important;
    border-radius:10px !important;
  }
  .link-card.has-brand-icon .link-icon-bg{
    width:90% !important;
    height:90% !important;
    max-width:90% !important;
    max-height:90% !important;
  }
}


/* v28: hide SNS icon area when no uploaded/asset icon exists */
.link-card:not(.has-brand-icon) .link-card-top{
  display:block !important;
  margin-bottom:10px !important;
}

.link-card:not(.has-brand-icon) .link-card-title{
  display:block !important;
  margin:0 0 10px 0 !important;
}

.link-card:not(.has-brand-icon) .link-icon{
  display:none !important;
}


/* v36: make RECORDS & VINTAGE product cards reliably clickable */
.record-card.is-clickable{
  cursor:pointer;
  transition:border-color .18s ease, transform .18s ease, background-color .18s ease;
}
.record-card.is-clickable:hover{
  border-color:var(--red);
  transform:translateY(-2px);
}
.record-card-editor .record-card-link{
  display:block;
  min-height:100%;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.record-card-editor .record-card-link:focus-visible{
  outline:2px solid var(--red);
  outline-offset:4px;
}
.record-card-detail-label{
  display:inline-block;
  margin-top:14px;
  font-size:14px;
  font-weight:800;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.45);
}


/* v39: back links for RECORDS category/detail pages */
.page-back-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  margin:22px 0 28px;
}
.page-back-nav-bottom{
  margin-top:36px;
  margin-bottom:0;
}
.page-back-nav a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:10px 14px;
  border:1px solid #2a2a2a;
  background:#0b0b0b;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  line-height:1.2;
}
.page-back-nav a:hover,
.page-back-nav a:focus-visible{
  border-color:var(--red);
  outline:none;
}


/* v43: database-driven MENU / relaxed list layout */
.menu-section{background:#070707}
.menu-time-grid{gap:34px;align-items:start}
.menu-time-card{min-height:100%;padding:32px 34px 30px}
.menu-time-card h3{font-size:32px;letter-spacing:.04em;border-bottom:1px solid #2a2a2a;padding-bottom:14px;margin-bottom:10px}
.menu-item-list{display:grid;gap:0}
.menu-item-card{display:grid;align-items:start;column-gap:22px;row-gap:8px;padding:20px 0;border-bottom:1px solid #242424}
.menu-item-card:last-child{border-bottom:0;padding-bottom:0}
.menu-item-card--no-image{grid-template-columns:minmax(180px,.9fr) minmax(240px,1.45fr) max-content}
.menu-item-card--has-image{grid-template-columns:92px minmax(160px,.8fr) minmax(220px,1.35fr) max-content}
.menu-item-image{width:92px;height:92px;object-fit:cover;background:#151515;border:1px solid #242424;grid-column:1;grid-row:1 / span 2}
.menu-item-name{min-width:0}
.menu-item-name h4{font-size:20px;line-height:1.45;margin:0;color:#fff;font-weight:800;letter-spacing:.02em}
.menu-item-desc{min-width:0}
.menu-item-desc p{font-size:15px;line-height:1.85;color:#eee7dc;margin:0}
.menu-item-price{font-size:17px;line-height:1.45;font-weight:800;color:#fff;white-space:nowrap;text-align:right;padding-top:1px}
.menu-placeholder{color:#cfc8be;font-size:15px;line-height:1.8;margin:0;padding-top:16px}
@media(max-width:1100px){.menu-time-card{padding:28px}.menu-item-card--no-image{grid-template-columns:1fr auto}.menu-item-card--has-image{grid-template-columns:84px 1fr auto}.menu-item-desc{grid-column:1 / -1}.menu-item-card--has-image .menu-item-desc{grid-column:2 / -1}.menu-item-image{width:84px;height:84px}.menu-item-name h4{font-size:19px}}
@media(max-width:760px){.menu-time-grid{gap:22px}.menu-time-card h3{font-size:26px}.menu-item-card,.menu-item-card--no-image,.menu-item-card--has-image{grid-template-columns:1fr;column-gap:0}.menu-item-image{grid-column:auto;grid-row:auto;width:100%;height:auto;aspect-ratio:16/9}.menu-item-desc,.menu-item-card--has-image .menu-item-desc{grid-column:auto}.menu-item-price{text-align:left}.menu-item-name h4{font-size:18px}}

/* v44: MENU is edited as two rich text blocks, not individual menu posts. */
.menu-rich-content{font-size:16px;line-height:1.9;color:#eee7dc;max-width:none}
.menu-rich-content > *:first-child{margin-top:0}
.menu-rich-content > *:last-child{margin-bottom:0}
.menu-rich-content p{margin:0 0 18px;color:#eee7dc}
.menu-rich-content strong{color:#fff;font-weight:800}
.menu-rich-content ul,.menu-rich-content ol{margin:0 0 18px 1.25em;padding:0}
.menu-rich-content li{margin:0 0 8px}
.menu-rich-content h4{font-size:20px;line-height:1.45;margin:22px 0 10px;color:#fff;font-weight:800;letter-spacing:.02em}
.menu-rich-content table{width:100%;border-collapse:collapse;margin:0 0 18px;color:#eee7dc}
.menu-rich-content th,.menu-rich-content td{border-bottom:1px solid #242424;padding:10px 0;text-align:left;vertical-align:top}
.menu-rich-content th:last-child,.menu-rich-content td:last-child{text-align:right;white-space:nowrap;padding-left:20px;color:#fff;font-weight:800}
.menu-time-card{padding:36px 40px 34px}
.menu-time-card h3{margin-bottom:24px}
@media(max-width:760px){.menu-time-card{padding:28px 24px}.menu-rich-content{font-size:15px}.menu-rich-content th:last-child,.menu-rich-content td:last-child{white-space:normal}}
