/* Kato Oil | shops / 2026-10-09 Excel sync hotfix v2 */
.kt-shop-content{min-width:0}.kt-shop-search{margin:0}.kt-shop-search__tabs{display:flex;border-bottom:1px solid var(--kt-line);gap:0}.kt-shop-search__tab{appearance:none;min-width:160px;padding:0 30px 17px;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--kt-text-45);font:700 18px/1.4 var(--kt-font-jp);letter-spacing:.08em;cursor:pointer}.kt-shop-search__tab.is-active{color:#fff;border-bottom-color:var(--kt-accent-base)}.kt-shop-pane{padding:30px 0 0}.kt-shop-pane[hidden]{display:none!important}.kt-shop-pane__intro{margin:0 0 26px;color:var(--kt-text-72);font-size:16px;line-height:1.9;letter-spacing:.05em}
.kt-shop-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,22%);gap:20px;align-items:center;border:1px solid var(--kt-line);padding:20px 6px 16px}.kt-shop-map__pref{margin:0 0 8px;padding-left:8px;color:var(--kt-text-72);font-size:11px;letter-spacing:.14em}.kt-shop-map__pref span{font-family:var(--kt-font-en);font-size:10px;letter-spacing:.22em;color:var(--kt-accent-text)}.kt-shop-map__svg{display:block;width:100%;height:auto}.kt-shop-map__chiba{align-self:center;border:1px solid var(--kt-line);padding:10px 10px 8px}.kt-shop-map__chiba .kt-shop-map__pref{padding-left:0}.kt-map-city{cursor:pointer;outline:none}.kt-map-city path{fill:#111a23;stroke:rgba(182,204,226,.34);stroke-width:1.3;transition:fill .2s,stroke .2s}.kt-map-city:hover path,.kt-map-city:focus path{fill:#172637;stroke:var(--kt-accent-base)}.kt-map-city.is-primary path{fill:#203b69;stroke:var(--kt-accent-base);stroke-width:2}.kt-map-city text{pointer-events:none;text-anchor:middle;fill:#fff}.kt-map-city__en{font:600 8px var(--kt-font-en);letter-spacing:.18em;fill:var(--kt-accent-text)!important}.kt-map-city__name{font:700 17px var(--kt-font-jp);letter-spacing:.06em}.kt-map-city__name--primary{font-size:24px}.kt-map-city__count{font:500 11px var(--kt-font-en);letter-spacing:.12em;fill:rgba(255,255,255,.76)!important}.kt-map-city__count--primary{font-size:12px;fill:#fff!important}.kt-shop-city-buttons{display:none}
.kt-shop-filter-box{padding:24px 30px 26px;background:#11151a;border:1px solid var(--kt-line)}.kt-shop-filter-row{display:flex;align-items:flex-start;gap:22px;padding:18px 0}.kt-shop-filter-row:first-child{padding-top:0}.kt-shop-filter-row+ .kt-shop-filter-row{border-top:1px solid var(--kt-line-soft)}.kt-shop-filter-row__label{width:92px;flex:none;padding-top:9px;color:var(--kt-text-45);font-size:11px;letter-spacing:.14em}.kt-shop-filter-row__buttons{display:flex;flex-wrap:wrap;gap:8px;flex:1}.kt-shop-filter-row__buttons button,.kt-shop-filter-box__footer button{appearance:none;min-height:38px;padding:0 14px;background:transparent;border:1px solid var(--kt-line);color:var(--kt-text-72);font:500 12px var(--kt-font-jp);letter-spacing:.04em;cursor:pointer}.kt-shop-filter-row__buttons button.is-active{background:var(--kt-accent-fill);border-color:var(--kt-accent-base);color:#fff;font-weight:700}.kt-shop-filter-box__footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--kt-line-soft);color:var(--kt-text-72);font-size:12px}.kt-shop-filter-box__footer strong{margin:0 5px;color:var(--kt-accent-text);font:500 30px var(--kt-font-en)}
.kt-shop-results{padding:56px 0 30px}.kt-shop-current{display:flex;align-items:baseline;gap:12px;margin-bottom:24px}.kt-shop-current span{font:500 10px var(--kt-font-en);letter-spacing:.22em;color:var(--kt-text-45)}.kt-shop-current strong{font-size:13px;letter-spacing:.05em;color:var(--kt-text-72)}.kt-shop-area{scroll-margin-top:110px}.kt-shop-area__head{appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 4px;background:transparent;border:0;border-bottom:1px solid var(--kt-line);color:#fff;text-align:left;cursor:pointer}.kt-shop-area__head>span{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}.kt-shop-area__head strong{font-size:26px;letter-spacing:.08em}.kt-shop-area__head small{font:500 10px var(--kt-font-en);letter-spacing:.2em;color:var(--kt-text-45)}.kt-shop-area__head i{position:relative;width:22px;height:22px;flex:none}.kt-shop-area__head i:before,.kt-shop-area__head i:after{content:"";position:absolute;background:var(--kt-accent-base)}.kt-shop-area__head i:before{left:0;top:10px;width:22px;height:1.5px}.kt-shop-area__head i:after{left:10px;top:0;width:1.5px;height:22px;transition:transform .2s}.kt-shop-area__head[aria-expanded="true"] i:after{transform:rotate(90deg)}.kt-shop-area__body[hidden]{display:none!important}.kt-shop-row{display:flex;gap:40px;padding:27px 4px 30px;border-bottom:1px solid var(--kt-line-soft)}.kt-shop-row[hidden]{display:none!important}.kt-shop-row__identity{width:33%;flex:none;padding-right:34px;border-right:1px solid var(--kt-line-soft)}.kt-shop-row__brand{font:500 10px var(--kt-font-en);letter-spacing:.16em;color:var(--kt-text-45)}.kt-shop-row__identity h3{margin:10px 0 0;font-size:21px;line-height:1.5;letter-spacing:.05em}.kt-shop-row__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.kt-shop-row__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid var(--kt-line);color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em}.kt-shop-row__actions a.is-primary{background:var(--kt-accent-fill);border-color:var(--kt-accent-fill)}.kt-shop-row__actions a.is-keeper{border-color:var(--kt-accent-base);color:#fff}.kt-shop-row__info{flex:1;min-width:0}.kt-shop-row__info dl{margin:0}.kt-shop-row__info dl>div{display:grid;grid-template-columns:106px minmax(0,1fr);gap:16px;padding:9px 0;border-bottom:1px solid var(--kt-line-soft)}.kt-shop-row__info dt{color:var(--kt-text-45);font-size:11px;letter-spacing:.06em}.kt-shop-row__info dd{margin:0;color:var(--kt-text-72);font-size:12px;line-height:1.8}.kt-shop-row__info dd a{color:var(--kt-accent-text)}.kt-shop-row__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.kt-shop-row__tags span{padding:5px 8px;border:1px solid var(--kt-line);color:var(--kt-text-72);font-size:10px;letter-spacing:.03em}.kt-shop-empty{padding:40px 0;color:var(--kt-text-72);font-size:16px}
.kt-shop-detail-hero{width:100%;height:min(46vw,620px);margin:0;overflow:hidden;background:#11151a}.kt-shop-detail-hero img{width:100%;height:100%;object-fit:cover}.kt-shop-detail{padding-top:80px;padding-bottom:120px}.kt-shop-detail-section{padding:72px 0;border-bottom:1px solid var(--kt-line)}.kt-shop-section-head>span{display:block;font:600 11px var(--kt-font-en);letter-spacing:.25em;color:var(--kt-accent-text)}.kt-shop-section-head h2{margin:10px 0 0;font-size:32px;letter-spacing:.06em}.kt-shop-detail-overview__grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:72px;margin-top:34px}.kt-shop-info-list{margin:0}.kt-shop-info-list>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:18px 0;border-top:1px solid var(--kt-line-soft)}.kt-shop-info-list dt{color:var(--kt-text-45);font-size:12px}.kt-shop-info-list dd{margin:0;color:var(--kt-text-72);font-size:16px;line-height:1.8}.kt-shop-detail-overview__actions{display:flex;flex-direction:column;gap:10px}.kt-shop-detail-button{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 18px;border:1px solid var(--kt-line);font-size:15px;font-weight:700}.kt-shop-detail-button.is-primary{background:var(--kt-accent-fill);border-color:var(--kt-accent-fill)}.kt-shop-detail-button.is-keeper{border-color:var(--kt-accent-base)}.kt-shop-detail-button span{transition:transform .2s ease}.kt-shop-service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:32px;border-top:1px solid var(--kt-line);border-left:1px solid var(--kt-line)}.kt-shop-service-item{min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border-right:1px solid var(--kt-line);border-bottom:1px solid var(--kt-line);color:#fff;text-align:center}.kt-shop-service-item i{display:block;color:var(--kt-accent-text)}.kt-shop-service-item span{font-size:13px;font-weight:700;letter-spacing:.05em}.kt-shop-payment-note{margin:20px 0 0;color:var(--kt-text-45);font-size:12px}.kt-shop-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:30px 0 0;border-top:1px solid var(--kt-line)}.kt-shop-payment-grid>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;padding:18px 20px;border-bottom:1px solid var(--kt-line-soft)}.kt-shop-payment-grid>div:nth-child(odd){border-right:1px solid var(--kt-line-soft)}.kt-shop-payment-grid dt{color:var(--kt-text-45);font-size:11px}.kt-shop-payment-grid dd{margin:0;color:var(--kt-text-72);font-size:12px;line-height:1.75}.kt-shop-map-embed{height:400px;margin-top:30px;background:#11151a}.kt-shop-map-embed iframe{width:100%;height:100%;border:0;filter:grayscale(.25)}.kt-shop-text-link{display:inline-block;margin-top:16px;color:var(--kt-accent-text);font-size:12px}.kt-shop-detail-back{padding:38px 0 0}.kt-shop-detail-back a{font-size:13px;color:var(--kt-text-72)}

/* Interactive hover / keyboard focus (map hover is defined separately above). */
.kt-shop-search__tab,.kt-shop-filter-row__buttons button,.kt-shop-filter-box__footer button,.kt-shop-area__head,.kt-shop-row__actions a,.kt-shop-row__info dd a,.kt-shop-detail-button,.kt-shop-text-link,.kt-shop-detail-back a,.kt-shop-city-button{transition:color .2s ease,background-color .2s ease,border-color .2s ease,opacity .2s ease,transform .2s ease}
@media (hover:hover) and (pointer:fine){
  .kt-shop-search__tab:hover{color:#fff}
  .kt-shop-filter-row__buttons button:hover,.kt-shop-filter-box__footer button:hover{color:#fff;border-color:var(--kt-accent-base);background:rgba(47,132,255,.08)}
  .kt-shop-area__head:hover{background:rgba(255,255,255,.025)}
  .kt-shop-row__actions a:hover{border-color:var(--kt-accent-base);background:rgba(47,132,255,.09);transform:translateY(-1px)}
  .kt-shop-row__actions a.is-primary:hover{background:var(--kt-accent-base);border-color:var(--kt-accent-base)}
  .kt-shop-row__actions a.is-keeper:hover{background:rgba(47,132,255,.14)}
  .kt-shop-row__info dd a:hover,.kt-shop-text-link:hover,.kt-shop-detail-back a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
  .kt-shop-detail-button:hover{border-color:var(--kt-accent-base);background:rgba(47,132,255,.08);transform:translateY(-1px)}
  .kt-shop-detail-button.is-primary:hover{background:var(--kt-accent-base);border-color:var(--kt-accent-base)}
  .kt-shop-detail-button.is-keeper:hover{background:rgba(47,132,255,.14)}
  .kt-shop-detail-button:hover span{transform:translateX(4px)}
  .kt-shop-city-button:hover{border-color:var(--kt-accent-base);background:#172637}
}
.kt-shop-search__tab:focus-visible,.kt-shop-filter-row__buttons button:focus-visible,.kt-shop-filter-box__footer button:focus-visible,.kt-shop-area__head:focus-visible,.kt-shop-row__actions a:focus-visible,.kt-shop-row__info dd a:focus-visible,.kt-shop-detail-button:focus-visible,.kt-shop-text-link:focus-visible,.kt-shop-detail-back a:focus-visible,.kt-shop-city-button:focus-visible{outline:2px solid var(--kt-accent-base);outline-offset:3px}
@media(max-width:1199px){.kt-map-city__en{display:none}.kt-shop-map{gap:16px}.kt-map-city__name{font-size:18px}.kt-map-city__name--primary{font-size:25px}.kt-shop-row{gap:28px}.kt-shop-row__identity{width:35%;padding-right:24px}}
@media(max-width:1023px){.kt-shop-search{padding-top:42px}.kt-shop-content{width:100%}.kt-shop-detail-overview__grid{grid-template-columns:1fr;gap:30px}.kt-shop-detail-overview__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.kt-shop-service-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.kt-shop-search{padding-top:36px}.kt-shop-search__tab{min-width:0;flex:1;padding:0 8px 14px;font-size:16px}.kt-shop-pane{padding-top:24px}.kt-shop-pane__intro{margin-bottom:12px;font-size:12px}.kt-shop-map{display:none}.kt-shop-city-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.kt-shop-city-buttons__pref{display:flex;align-items:center;min-height:44px;padding:0 7px;color:var(--kt-text-45);font:600 8px var(--kt-font-en);letter-spacing:.12em;border-bottom:1px solid var(--kt-line)}.kt-shop-city-button{appearance:none;min-width:0;height:44px;padding:0 3px;background:#111a23;border:1px solid var(--kt-line);color:#fff;font:700 13px var(--kt-font-jp);cursor:pointer}.kt-shop-city-button.is-primary{background:#1b345d;border-color:var(--kt-accent-base)}.kt-shop-filter-box{padding:16px}.kt-shop-filter-row{display:block}.kt-shop-filter-row__label{display:block;width:auto;padding:0 0 10px}.kt-shop-filter-row__buttons{gap:6px}.kt-shop-filter-row__buttons button{min-height:36px;padding:0 10px;font-size:11px}.kt-shop-filter-box__footer{align-items:flex-end}.kt-shop-results{padding-top:36px}.kt-shop-current{margin-bottom:10px}.kt-shop-area__head{padding:20px 0}.kt-shop-area__head strong{font-size:22px}.kt-shop-area__head small{font-size:8px}.kt-shop-row{display:block;padding:22px 0 26px}.kt-shop-row__identity{width:auto;padding:0 0 18px;border-right:0;border-bottom:1px solid var(--kt-line-soft)}.kt-shop-row__identity h3{font-size:19px}.kt-shop-row__actions{margin-top:16px}.kt-shop-row__actions a{flex:1}.kt-shop-row__info{padding-top:14px}.kt-shop-row__info dl>div{grid-template-columns:82px minmax(0,1fr);gap:12px}.kt-shop-detail-hero{height:62vw}.kt-shop-detail{padding-top:48px;padding-bottom:80px}.kt-shop-detail-section{padding:52px 0}.kt-shop-section-head h2{font-size:26px}.kt-shop-detail-overview__grid{margin-top:24px}.kt-shop-info-list>div{grid-template-columns:112px minmax(0,1fr);gap:14px;padding:15px 0}.kt-shop-detail-overview__actions{grid-template-columns:1fr}.kt-shop-service-grid{grid-template-columns:repeat(2,1fr)}.kt-shop-service-item{min-height:112px}.kt-shop-payment-grid{grid-template-columns:1fr}.kt-shop-payment-grid>div,.kt-shop-payment-grid>div:nth-child(odd){grid-template-columns:120px minmax(0,1fr);border-right:0;padding:16px 0}.kt-shop-map-embed{height:260px}}

/* 2026-10-12 | Shop detail: show the storefront photo within the body content width.
 * Match the three .kt-lower-container responsive widths without changing templates.
 * The image keeps its own aspect ratio (recommended upload: 1920 x ~1150),
 * preventing clipping of the roof, sign and forecourt on both PC and SP.
 * The pre-existing common navy ::after photo overlay remains intact.
 */
body.kt-shop-detail-page .kt-shop-detail-hero {
  width: min(100% - 176px, 1264px);
  height: auto;
  margin: 0 auto;
}
body.kt-shop-detail-page .kt-shop-detail-hero img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media (max-width: 1499px) and (min-width: 1024px) {
  body.kt-shop-detail-page .kt-shop-detail-hero {
    width: min(100% - 96px, 1180px);
  }
}
@media (max-width: 1023px) {
  body.kt-shop-detail-page .kt-shop-detail-hero {
    width: calc(100% - 44px);
  }
}


/* 2026-10-12 | SHOP DETAIL: Service & Reservation cards (Claude-inspired).
 * Common service photographs + only the booking links explicitly assigned to
 * that service. No effect on the shop list, hero image, or payment/access.
 */
.kt-shop-offerings__intro{margin:22px 0 0;font-size:15px;line-height:1.9;letter-spacing:.04em;color:var(--kt-text-72)}
.kt-shop-offerings__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 30px;margin-top:36px}
.kt-shop-offering-card{min-width:0;display:flex;flex-direction:column}
.kt-shop-offering-card__media{position:relative;width:100%;aspect-ratio:16/10;background:#151f2a;overflow:hidden}
.kt-shop-offering-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.kt-shop-offering-card__media:not(.is-icon)::after{content:"";position:absolute;inset:0;pointer-events:none;background:rgba(8,16,28,.04)}
.kt-shop-offering-card__media.is-icon{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#17212c,#10161f);border:1px solid var(--kt-line)}
.kt-shop-offering-card__placeholder{color:var(--kt-accent-text)}
.kt-shop-offering-card__placeholder svg{display:block;width:64px;height:64px}
.kt-shop-offering-card__details{display:flex;flex-direction:column;flex:1;min-width:0}
.kt-shop-offering-card__heading{display:flex;gap:17px;align-items:flex-start;margin-top:20px;min-width:0}
.kt-shop-offering-card__number{flex:none;font:300 24px/1 var(--kt-font-en);color:var(--kt-accent-text)}
.kt-shop-offering-card__names{min-width:0}
.kt-shop-offering-card__names h3{margin:0;font-size:18px;line-height:1.4;font-weight:700;letter-spacing:.05em;color:#fff}
.kt-shop-offering-card__names>span{display:block;margin-top:6px;font:500 10px/1.6 var(--kt-font-en);letter-spacing:.14em;color:var(--kt-text-45)}
.kt-shop-offering-card__links{display:flex;flex-direction:column;gap:8px;margin-top:20px}
.kt-shop-offering-card__link{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:10px 14px;border:1px solid var(--kt-accent-base);background:var(--kt-accent-fill);font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.03em;color:#fff;text-decoration:none;transition:background .2s ease,border-color .2s ease}
.kt-shop-offering-card__link span[aria-hidden]{margin-left:auto}
/* 2つ以上の予約先も単独リンクと同じ青ボタンで表示。PCは2列。 */
.kt-shop-offering-card__links.is-multiple{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kt-shop-offering-card__links.is-multiple .kt-shop-offering-card__link{width:100%;min-width:0;box-sizing:border-box;min-height:42px;justify-content:space-between;gap:6px;padding:9px 10px;overflow-wrap:anywhere}
@media(hover:hover) and (pointer:fine){.kt-shop-offering-card__link:hover{background:var(--kt-accent-base);color:#fff}}
.kt-shop-offering-card__link:focus-visible{outline:2px solid var(--kt-accent-text);outline-offset:3px}
@media(max-width:1023px){.kt-shop-offerings__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 22px}}
@media(max-width:767px){
  .kt-shop-offerings__grid{grid-template-columns:1fr;gap:0;margin-top:20px}
  .kt-shop-offering-card{display:grid;grid-template-columns:108px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--kt-line);align-items:start}
  .kt-shop-offering-card__media{aspect-ratio:1/1}
  .kt-shop-offering-card__placeholder svg{width:48px;height:48px}
  .kt-shop-offering-card__heading{margin-top:0;gap:10px}
  .kt-shop-offering-card__number{font-size:16px}
  .kt-shop-offering-card__names h3{font-size:18px}
  .kt-shop-offering-card__names>span{font-size:9px;letter-spacing:.09em}
  .kt-shop-offering-card__links{margin-top:12px;gap:6px}
  .kt-shop-offering-card__link{min-height:38px;padding:7px 10px;font-size:11px}
  .kt-shop-offering-card__links.is-multiple{grid-template-columns:1fr;gap:6px}
  .kt-shop-offering-card__links.is-multiple .kt-shop-offering-card__link{min-height:42px;padding:8px 10px}
  .kt-shop-offerings__intro{margin-top:16px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.kt-shop-offering-card__link{transition:none}}


/* 2026-10-15 | Shops listing: client-provided service pictograms.
 * No change to services, master data, filters or shop details. */
.kt-shop-row__tags {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:16px;
}
.kt-shop-row__tags .kt-shop-row__tag {
  display:inline-flex;
  box-sizing:border-box;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  min-height:34px;
  max-width:100%;
  padding:6px 9px;
  border:1px solid var(--kt-line);
  color:var(--kt-text-72);
  font-size:11px;
  line-height:1.5;
  letter-spacing:.025em;
  white-space:nowrap;
}
.kt-shop-row__tag-icon,
.kt-shop-row__tag-icon--svg {
  display:block;
  flex:none;
  width:20px;
  height:20px;
  object-fit:contain;
}
.kt-shop-row__tag-icon--svg { color:var(--kt-accent-base); }
.kt-shop-row__tag-icon--svg svg { display:block;width:100%;height:100%; }
.kt-shop-row__tag-label { display:block;min-width:0; }
/* Reset the original generic .kt-shop-row__tags span border/padding rule for nested spans. */
.kt-shop-row__tags .kt-shop-row__tag > .kt-shop-row__tag-label,
.kt-shop-row__tags .kt-shop-row__tag > .kt-shop-row__tag-icon--svg {
  padding:0;
  border:0;
  font-size:inherit;
  line-height:inherit;
  letter-spacing:inherit;
}

/* Equal-sized booking and store-details buttons, including wrapped rows.
 * Auto-fit gives 3 columns only when the left-hand store-info area is wide enough;
 * it falls back to 2 or 1 column without inconsistent link widths. */
.kt-shop-row__actions {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));
  gap:8px;
  align-items:stretch;
}
.kt-shop-row__actions a {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:44px;
  padding:8px 9px;
  text-align:center;
  line-height:1.4;
  white-space:nowrap;
}
@media(max-width:767px) {
  .kt-shop-row__actions a { flex:none; }
  .kt-shop-row__tags { gap:7px; }
  .kt-shop-row__tags .kt-shop-row__tag { font-size:11px; }
}

/* 2026-10-15 | Shop detail: only five TOP services have photos.
 * All other services use simple, photo-free action/status tiles. */
.kt-shop-offerings__other { margin-top:52px; padding-top:28px; border-top:1px solid var(--kt-line); }
.kt-shop-offerings__other-head { display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px; }
.kt-shop-offerings__other-head h3 { margin:0;font-size:22px;line-height:1.5;letter-spacing:.07em;color:#fff;font-weight:700; }
.kt-shop-offerings__other-head>span { font:600 10px/1.5 var(--kt-font-en);letter-spacing:.16em;color:var(--kt-text-45); }
.kt-shop-offerings__other-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
.kt-shop-offerings__other-item { display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:60px;padding:12px 16px;border:1px solid var(--kt-line);background:#111923; }
.kt-shop-offerings__other-item>strong { flex:1;min-width:0;font-size:13px;line-height:1.5;font-weight:700;color:#fff;overflow-wrap:anywhere; }
.kt-shop-offerings__other-status { flex:none;color:var(--kt-text-45);font-size:10px;white-space:nowrap; }
.kt-shop-offerings__other-links { display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:5px;min-width:0; }
.kt-shop-offerings__other-links a { display:inline-flex;align-items:center;justify-content:space-between;gap:10px;max-width:100%;min-height:36px;padding:7px 10px;border:1px solid var(--kt-accent-base);color:var(--kt-accent-text);font-size:11px;font-weight:700;line-height:1.3;text-decoration:none;transition:background .2s,color .2s; }
.kt-shop-offerings__other-links a span { margin-left:4px; }
@media (hover:hover) and (pointer:fine) { .kt-shop-offerings__other-links a:hover { background:var(--kt-accent-fill);color:#fff; } }
.kt-shop-offerings__other-links a:focus-visible { outline:2px solid var(--kt-accent-text);outline-offset:2px; }

/* Shop payment tiles: method-specific name + optional official logo.
 * Generic pictograms are deliberately unbranded until approved assets arrive. */
.kt-shop-payment-groups { display:flex;flex-direction:column;gap:32px;margin-top:26px; }
.kt-shop-payment-group { min-width:0; }
.kt-shop-payment-group__title { margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid var(--kt-line);color:#fff;font-size:16px;font-weight:700;line-height:1.5;letter-spacing:.04em; }
.kt-shop-payment-methods { display:grid;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));gap:12px;margin:0;padding:0;list-style:none; }
.kt-shop-payment-method { box-sizing:border-box;display:flex;align-items:center;flex-direction:column;gap:8px;min-width:0;min-height:130px;margin:0;padding:14px 10px 12px;background:#121a25;border:1px solid var(--kt-line);text-align:center; }
.kt-shop-payment-method__mark { box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:90px;height:54px;max-width:100%;padding:6px 9px;background:#f9fafc;border-radius:4px; }
.kt-shop-payment-method__mark img { display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain; }
.kt-shop-payment-method__mark.is-generic { background:#1c3044;color:#83b7e4; }
.kt-shop-payment-method__mark svg { display:block;width:31px;height:31px; }
.kt-shop-payment-method__name { display:block;max-width:100%;color:var(--kt-text-72);font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.01em;overflow-wrap:anywhere; }
.kt-shop-payment-method__note { font-size:10px;line-height:1.45;color:var(--kt-text-45);overflow-wrap:anywhere; }
@media (max-width:1023px) {
  .kt-shop-offerings__other-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kt-shop-payment-methods { grid-template-columns:repeat(auto-fill,minmax(116px,1fr)); }
}
@media (max-width:767px) {
  .kt-shop-offerings__other { margin-top:32px;padding-top:23px; }
  .kt-shop-offerings__other-head { margin-bottom:16px;gap:8px; }
  .kt-shop-offerings__other-head h3 { font-size:18px; }
  .kt-shop-offerings__other-grid { grid-template-columns:1fr;gap:8px; }
  .kt-shop-offerings__other-item { min-height:54px;padding:10px 12px; }
  .kt-shop-payment-groups { gap:26px;margin-top:20px; }
  .kt-shop-payment-methods { grid-template-columns:repeat(2,minmax(0,1fr));gap:9px; }
  .kt-shop-payment-method { min-height:126px;padding:12px 8px; }
}
@media (prefers-reduced-motion:reduce) { .kt-shop-offerings__other-links a { transition:none; } }


/* 2026-10-18 | Public typography pass v01
 * Readable Japanese data, list text and labels.  English eybrows and utility
 * labels deliberately retain the original design-system typography.
 * Scope: shop list + shop detail only; no recruitment or price/service pages.
 */
body.kt-shops-page .kt-shop-pane__intro,
body.kt-shops-page .kt-shop-row__info dt,
body.kt-shops-page .kt-shop-row__info dd,
body.kt-shop-detail-page .kt-shop-info-list dt,
body.kt-shop-detail-page .kt-shop-info-list dd,
body.kt-shop-detail-page .kt-shop-payment-grid dt,
body.kt-shop-detail-page .kt-shop-payment-grid dd,
body.kt-shop-detail-page .kt-shop-offerings__intro {
  font-size: 18px;
}
body.kt-shops-page .kt-shop-row__info dt,
body.kt-shop-detail-page .kt-shop-info-list dt,
body.kt-shop-detail-page .kt-shop-payment-grid dt {
  color: var(--kt-text-72);
}
body.kt-shops-page .kt-shop-row__info dd,
body.kt-shop-detail-page .kt-shop-info-list dd {
  line-height: 1.85;
}
/* Buttons and service chips are utility UI, not prose; 14px keeps their density. */
body.kt-shops-page .kt-shop-row__actions a,
body.kt-shops-page .kt-shop-filter-row__buttons button,
body.kt-shops-page .kt-shop-row__tags .kt-shop-row__tag,
body.kt-shop-detail-page .kt-shop-detail-button,
body.kt-shop-detail-page .kt-shop-service-item span,
body.kt-shop-detail-page .kt-shop-payment-method__name {
  font-size: 16px;
}
body.kt-shop-detail-page .kt-shop-payment-note {
  font-size: 16px;
  color: var(--kt-text-72);
}
/* Avoid label/data collisions where the 106px (PC) / 82px (SP) label grid
 * is too narrow for 15px Japanese content. The value column must shrink. */
body.kt-shops-page .kt-shop-row__info dl > div,
body.kt-shop-detail-page .kt-shop-info-list > div {
  min-width: 0;
}
body.kt-shops-page .kt-shop-row__info dt,
body.kt-shops-page .kt-shop-row__info dd,
body.kt-shop-detail-page .kt-shop-info-list dt,
body.kt-shop-detail-page .kt-shop-info-list dd {
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 767px) {
  body.kt-shops-page .kt-shop-row__info dl > div {
    grid-template-columns: minmax(82px, 30%) minmax(0, 1fr);
  }
  body.kt-shop-detail-page .kt-shop-info-list > div {
    grid-template-columns: minmax(105px, 36%) minmax(0, 1fr);
  }
}


/* 2026-10-18 | 店舗サービス：未登録画像はアイコン代替を出さず、サービス名・リンクをテキストで表示 */
.kt-shop-offering-card--text-only {
  border-top: 1px solid var(--kt-line);
}
.kt-shop-offering-card--text-only .kt-shop-offering-card__heading {
  margin-top: 20px;
}
/* 2026-10-23 | Missing common service images: for the entire 767px mobile
 * layout, text-only cards occupy the full row. Otherwise at 600-767px,
 * the content lands in the 108px image column and shrinks booking buttons. */
@media (max-width: 767px) {
  .kt-shop-offering-card--text-only {
    display: block;
  }
  .kt-shop-offering-card--text-only .kt-shop-offering-card__heading {
    margin-top: 0;
  }
}


/* 2026-10-18 | 店舗一覧・詳細：白抜き情報表を一般サイトのダークトーンになじませる。
 * 以前の全面的な純白パネルを、青みのあるやわらかいオフホワイトに変更。
 * ブルーの細線・控えめな罫線・余白の整理で他UIと調和。丸角・影は使用しない。
 * ※情報表のみに適用。その他サービス、予約ボタン、画像、情報量は変更しない。
 */
body.kt-shops-page .kt-shop-row__info dl,
body.kt-shop-detail-page .kt-shop-info-list {
  box-sizing: border-box;
  background: #e3ebf1;
  border: 1px solid #b9c8d5;
  border-left: 2px solid var(--kt-accent-base, #2778cf);
  padding: 7px 18px;
}
body.kt-shops-page .kt-shop-row__info dl > div,
body.kt-shop-detail-page .kt-shop-info-list > div {
  border-color: #c7d4df;
}
body.kt-shops-page .kt-shop-row__info dl > div:last-child,
body.kt-shop-detail-page .kt-shop-info-list > div:last-child {
  border-bottom: 0;
}
body.kt-shop-detail-page .kt-shop-info-list > div:first-child {
  border-top: 0;
}
body.kt-shop-detail-page .kt-shop-info-list > div {
  padding-top: 15px;
  padding-bottom: 15px;
}
body.kt-shops-page .kt-shop-row__info dt,
body.kt-shop-detail-page .kt-shop-info-list dt {
  color: #455e72;
}
body.kt-shops-page .kt-shop-row__info dd,
body.kt-shop-detail-page .kt-shop-info-list dd {
  color: #132b40;
}
body.kt-shops-page .kt-shop-row__info dd a,
body.kt-shops-page .kt-shop-row__info dd a:visited {
  color: #155b9c;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
body.kt-shops-page .kt-shop-row__info dd a:is(:hover, :focus-visible) {
  color: #08467d;
}
@media (max-width: 767px) {
  body.kt-shops-page .kt-shop-row__info dl,
  body.kt-shop-detail-page .kt-shop-info-list {
    padding: 5px 12px;
  }
  body.kt-shop-detail-page .kt-shop-info-list > div {
    padding-top: 13px;
    padding-bottom: 13px;
  }
}

/* 2026-10-26: rental booking CTA beside each eligible SS; KMS is external. */
.kt-shop-row__actions a.is-rental { border-color:var(--kt-accent-base);color:#fff; }
.kt-shop-row__actions a.is-rental:hover,
.kt-shop-row__actions a.is-rental:focus-visible { background:rgba(47,132,255,.14);border-color:var(--kt-accent-text); }
.kt-shop-row__actions a { text-align:center;line-height:1.4;padding-block:8px; }

/* 2026-10-30 | Shop listing: external carwash subscription button.
 * Reuse the established booking-link grid without cutting Japanese labels. */
body.kt-shops-page .kt-shop-row__actions a.is-wash-subscription {
  font-size: 13px;
  white-space: nowrap;
  border-color: var(--kt-accent-base);
}
@media (hover: hover) and (pointer: fine) {
  body.kt-shops-page .kt-shop-row__actions a.is-wash-subscription:hover {
    background: rgba(47, 132, 255, .14);
    border-color: var(--kt-accent-base);
  }
}
