/* Final spot layouts and shared current-target lists. */

/* =============== White Theme Decorations =============== */

/* ページ全体の背景に極薄のドットパターン */
body:is(.page-spots, .tax-location) #page,
body:is(.page-spots, .tax-location) .site-content,
body:is(.page-spots, .tax-location) #primary {
  background: transparent;
}

body:is(.page-spots, .tax-location) {
  background: var(--canvas-bg);
  background-image:
    radial-gradient(circle, rgba(148,163,184,.18) 1px, transparent 1px);
  background-size: 28px 28px;
}

/* カード間のセパレーターとしてカード底部に細いグラデーションライン */
.cards-layout .spot-card {
  border-bottom: 1.5px solid transparent;
  border-image: linear-gradient(90deg, rgba(167,139,250,.3) 0%, rgba(96,165,250,.3) 50%, rgba(52,211,153,.3) 100%) 1;
}

/* マップロード中のアニメーションシマー */
.cards-layout .spot-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    110deg,
    transparent 30%,
    rgba(255,255,255,.45) 50%,
    transparent 70%
  );
  background-size: 200% 100%;
  animation: iks-shimmer 1.6s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
.cards-layout .spot-media.is-loaded::after,
.cards-layout .spot-card[data-has-map="1"] .spot-media::after,
.single-spot .cards-layout .spot-media::after,
.cards-layout .location-archive.is-detail-open .spot-media::after,
.location-archive.is-detail-open .cards-layout .spot-media::after,
.location-archive.is-detail-open .spot-media::after {
  display: none;
}
@keyframes iks-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* カードのスクロール区切り線をより見やすく */
.cards-layout .spot-card + .spot-card::before {
  content: '';
  display: block;
  height: 2px;
  background: linear-gradient(90deg, transparent 0%, rgba(148,163,184,.18) 20%, rgba(148,163,184,.18) 80%, transparent 100%);
  margin-bottom: 0;
}

/* spot-contact と spot-business の角を丸く & ホバーエフェクト */
.spot-contact,
.spot-business {
  transition: box-shadow .2s ease, transform .2s ease;
}
@media (hover:hover) {
  .spot-contact:hover,
  .spot-business:hover {
    box-shadow: 0 8px 28px rgba(15,23,42,.1);
    transform: translateY(-1px);
  }
}

/* 公式サイトボタンのグラデーションをやや鮮やかに */
.spot-business__button {
  background: linear-gradient(135deg, #818cf8, #60a5fa);
  box-shadow: 0 8px 20px rgba(99,102,241,.28);
}
.spot-business__button:hover {
  box-shadow: 0 12px 28px rgba(99,102,241,.4);
}

/* ヘッダー部分のアクセントラインを Insta 表示時は非表示 */
.spot-card.is-insta-active .cards-layout .spot-header::before,
.spot-card:has(.media-switcher[data-state="insta"]) .cards-layout .spot-header::before {
  display: none;
}

/* =============== Spot grid: fixed 2-column media system =============== */
@media (min-width: 1024px){
  body:is(.page-spots, .tax-location) .spot-grid{
    --spot-grid-card-w: 456px;
    --spot-grid-gap-x: 28px;
    --spot-grid-gap-y: 28px;
    --spot-grid-image-h: 292px;
    --spot-grid-map-h: 428px;
    --spot-grid-insta-h: 560px;
    --spot-grid-insta-frame-w: 328px;
    width: min(100%, calc(var(--spot-grid-card-w) + var(--spot-grid-card-w) + var(--spot-grid-gap-x) + 24px));
    box-sizing: border-box;
    margin-inline: auto;
    padding-inline: 12px;
  }

  body:is(.page-spots, .tax-location) .spot-grid__cards{
    grid-template-columns: repeat(2, var(--spot-grid-card-w));
    justify-content: center;
    align-items: start;
    gap: var(--spot-grid-gap-y) var(--spot-grid-gap-x);
  }

  body:is(.page-spots, .tax-location) .spot-grid-card{
    --grid-pad: 16px;
    --grid-radius: 18px;
    --grid-google-map-h: var(--spot-grid-map-h);
    width: var(--spot-grid-card-w);
    max-width: var(--spot-grid-card-w);
    min-height: 0;
    justify-self: center;
    align-self: start;
    gap: 12px;
  }

  body:is(.page-spots, .tax-location) .spot-grid-card__media,
  body:is(.page-spots, .tax-location) .spot-grid-card__media-frame{
    aspect-ratio: auto;
  }

  body:is(.page-spots, .tax-location) .spot-grid-card:not([data-has-google-map="1"]):not([data-has-map="0"][data-has-insta="1"]) .spot-grid-card__media{
    height: var(--spot-grid-image-h);
    min-height: var(--spot-grid-image-h);
    max-height: var(--spot-grid-image-h);
    overflow: hidden;
  }

  body:is(.page-spots, .tax-location) .spot-grid-card:not([data-has-google-map="1"]):not([data-has-map="0"][data-has-insta="1"]) .spot-grid-card__media-frame{
    height: 100%;
    min-height: 100%;
  }

  body:is(.page-spots, .tax-location) .spot-grid-card[data-has-google-map="1"] .spot-grid-card__media,
  body:is(.page-spots, .tax-location) .spot-grid-card__media--google-map{
    height: var(--spot-grid-map-h);
    min-height: var(--spot-grid-map-h);
    max-height: var(--spot-grid-map-h);
    overflow: hidden;
  }

  body:is(.page-spots, .tax-location) .spot-grid-card[data-has-google-map="1"] .spot-grid-card__media-frame,
  body:is(.page-spots, .tax-location) .spot-grid-card__media-frame--google-map{
    height: 100%;
    min-height: 100%;
    max-height: 100%;
  }

  body:is(.page-spots, .tax-location) .spot-grid-card[data-has-map="0"][data-has-insta="1"]{
    width: var(--spot-grid-card-w);
    max-width: var(--spot-grid-card-w);
  }

  body:is(.page-spots, .tax-location) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media{
    display: flex;
    align-items: center;
    justify-content: center;
    height: var(--spot-grid-insta-h);
    min-height: var(--spot-grid-insta-h);
    max-height: var(--spot-grid-insta-h);
    overflow: hidden;
    background: #000;
  }

  body:is(.page-spots, .tax-location) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media-frame{
    position: relative;
    width: min(var(--spot-grid-insta-frame-w), calc(100% - 32px));
    height: 100%;
    min-height: 100%;
    max-height: 100%;
    margin-inline: auto;
    overflow: hidden;
    background: #000;
  }

  body:is(.page-spots, .tax-location) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media-frame iframe,
  body:is(.page-spots, .tax-location) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media-frame blockquote.instagram-media{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
  }
}

@media (max-width: 720px){
  body.page-spots:not(.home):not(.front-page) .spot-grid-card__spot{
    display: block;
    line-height: 1.35;
    max-height: 2.7em;
    white-space: normal;
    overflow: hidden;
    text-overflow: clip;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    -webkit-box-orient: initial;
  }

  body.page-spots:not(.home):not(.front-page) .spot-grid-card[data-has-map="0"][data-has-insta="1"]{
    width: min(320px, calc(100vw - 28px));
    max-width: min(320px, calc(100vw - 28px));
    justify-self: center;
    align-self: center;
    margin-left: auto;
    margin-right: auto;
  }

  body.page-spots:not(.home):not(.front-page) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media{
    display: block;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    border-radius: 0;
    overflow: hidden;
  }

  body.page-spots:not(.home):not(.front-page) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media-frame{
    position: static;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    border-radius: 0;
    overflow: hidden;
  }

  body.page-spots:not(.home):not(.front-page) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media-frame iframe,
  body.page-spots:not(.home):not(.front-page) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media-frame blockquote.instagram-media{
    position: static;
    inset: auto;
    width: 100%;
    height: auto;
    min-width: 0;
    min-height: 0;
    max-height: none;
    max-width: 100%;
    margin: 0;
    aspect-ratio: auto;
    overflow: visible;
  }
}

/* Final /spots hitokoto safeguards after media sizing overrides. */
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media{
  width:100%;
  max-width:100%;
  min-height:0;
  justify-self:stretch;
  align-self:stretch;
  margin-left:0;
  margin-right:0;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media[data-has-map="0"][data-has-insta="1"]{
  width:100%;
  max-width:100%;
  justify-self:stretch;
  align-self:stretch;
  margin-left:0;
  margin-right:0;
  border-right:0;
  border-bottom:0;
  border-left:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media[data-has-insta="1"],
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media:has(.ikuspot-simple-media-item--instagram){
  border-right:0;
  border-bottom:0;
  border-left:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .spot-grid-card__media,
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .spot-grid-card__media iframe,
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .spot-grid-card__media blockquote.instagram-media{
  display:none;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-media-item--google-map{
  aspect-ratio:8 / 9;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-media-item--google-map iframe{
  display:block;
  width:100%;
  height:100%;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-media-item--instagram{
  border:1px solid #e2e8f0;
  border-radius:8px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
  overflow:hidden;
}
body.is-spots-view-list:not(.iks-detail-open),
body.is-spots-view-list:not(.iks-detail-open) #page,
body.is-spots-view-list:not(.iks-detail-open) #content,
body.is-spots-view-list:not(.iks-detail-open) #site-content.ikuspot-spots-view-list,
body.is-spots-view-list #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open){
  background:#f6f3ef;
  background-image:none;
}
#locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .spot-grid{
  background:#f6f3ef;
  padding-top:12px;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid__cards{
  align-items:stretch;
  gap:0;
  padding-left:12px;
  padding-right:12px;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media{
  gap:7px;
  padding:12px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media + .spot-grid-card--no-media{
  border-top:1px solid #e2e8f0;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-head{
  display:flex;
  align-items:center;
  gap:8px;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-title{
  display:block;
  flex:1 1 0%;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  text-align:left;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-primary-icon{
  align-self:center;
  border:0;
  border-radius:0;
  background-color:transparent;
  background-image:var(--ikuspot-simple-cat-icon, none);
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  box-shadow:none;
  color:inherit;
  display:block;
  line-height:0;
  overflow:hidden;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .ikuspot-simple-row{
  --ikuspot-simple-icon-size:56px;
  --ikuspot-simple-head-gap:4px;
}
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .spot-grid__cards{
  padding-left:16px;
  padding-right:16px;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-head{
  align-items:center;
  justify-content:space-between;
  gap:12px;
  column-gap:12px;
  margin-bottom:0;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-primary-icon{
  display:none;
  width:var(--ikuspot-simple-icon-size);
  height:var(--ikuspot-simple-icon-size);
  min-width:var(--ikuspot-simple-icon-size);
  min-height:var(--ikuspot-simple-icon-size);
  flex:0 0 var(--ikuspot-simple-icon-size);
  margin-right:0;
  padding-right:0;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-primary-icon--image{
  background-color:transparent;
  background-image:var(--ikuspot-simple-cat-icon, none);
  background-size:contain;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-title{
  margin-left:0;
  padding-left:0;
  font-size:18px;
  font-weight:800;
  line-height:1.35;
}
@media (min-width:768px){
  body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-title{
    font-size:20px;
  }
}
@media (min-width:768px){
  body.page-spots #locationArchive[data-iks-spots-view="list"] .ikuspot-simple-row{
    --ikuspot-simple-icon-size:48px;
    --ikuspot-simple-head-gap:4px;
  }
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-primary-icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-favorite{
  flex:0 0 auto;
  margin-left:auto;
  align-self:center;
  display:flex;
  align-items:center;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-favorite .fav-btn{
  --fav-size:40px;
  --fav-nudge-y:0;
  align-self:center;
}
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-favorite .fav-btn,
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-favorite .fav-btn:hover,
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-favorite .fav-btn:focus,
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-favorite .fav-btn:focus-visible,
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-favorite .fav-btn:active{
  color:#555;
  background:transparent;
  background-color:transparent;
  background-image:none;
  box-shadow:none;
  border-color:transparent;
}
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-favorite .fav-btn.is-active,
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-favorite .fav-btn[aria-pressed="true"]{
  color:#e11d48;
}
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-favorite .fav-btn:focus-visible{
  outline:2px solid rgba(85,85,85,.45);
  outline-offset:2px;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-favorite .fav-icon{
  width:24px;
  height:24px;
  transition:transform .15s ease;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-favorite .fav-icon path{
  fill:transparent;
  stroke:#555;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
html body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .spot-grid-card--no-media .ikuspot-simple-favorite .fav-btn.is-active .fav-icon path,
html body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .spot-grid-card--no-media .ikuspot-simple-favorite .fav-btn[aria-pressed="true"] .fav-icon path,
html body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .spot-grid-card--no-media .ikuspot-simple-favorite .fav-btn.is-active[aria-pressed="true"] .fav-icon path{
  fill:#e11d48;
  stroke:#e11d48;
}
@media (hover:hover){
  #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-favorite .fav-btn:hover .fav-icon{
    transform:translate(var(--fav-icon-shift-x, .5px), var(--fav-icon-shift-y, .5px)) scale(1.06);
  }
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-summary-row{
  justify-content:flex-start;
  margin-top:8px;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .spot-category-row--simple{
  margin:8px 0 0;
  padding:0;
  flex-wrap:wrap;
  gap:6px;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media{
  --ikuspot-simple-body-indent:35px;
}
@media (min-width:768px){
  body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media{
    --ikuspot-simple-body-indent:37px;
  }
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-body{
  margin-left:var(--ikuspot-simple-body-indent);
  margin-top:6px;
  width:calc(100% - var(--ikuspot-simple-body-indent));
  max-width:calc(100% - var(--ikuspot-simple-body-indent));
  box-sizing:border-box;
  min-width:0;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0 6px;
  min-width:0;
  font-size:13px;
  line-height:1.4;
  color:#64748b;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-pin{
  flex:0 0 auto;
  font-size:13px;
  line-height:1;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-location{
  display:inline;
  min-width:0;
  color:inherit;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-meta-separator{
  color:#94a3b8;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .ikuspot-simple-distance{
  color:inherit;
  white-space:nowrap;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media:hover,
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media.is-active{
  background:transparent;
  box-shadow:none;
  transform:none;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .spot-grid-card__title-row{
  min-height:0;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .spot-grid-card__spot{
  display:block;
  color:var(--iks-card-meta-title);
  font-size:1rem;
  font-weight:850;
  line-height:1.35;
  white-space:normal;
  -webkit-line-clamp:unset;
  line-clamp:unset;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .spot-grid-card__overlay-caption--list{
  color:#475569;
  font-size:.9rem;
  font-weight:700;
  line-height:1.55;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .spot-grid-card__eyebrow,
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .spot-location-row{
  display:none;
}
#locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media .spot-grid-card__actions{
  top:12px;
  right:12px;
  bottom:auto;
}

/* /spots list view: make the Instagram media strip a near-full-width peek slider. */
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-media-strip{
  scroll-snap-type: x mandatory;
  gap: 12px;
  padding-bottom: 6px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-media-item--instagram{
  flex: 0 0 min(420px, calc(100vw - 32px));
  width: min(420px, calc(100vw - 32px));
  max-width: min(420px, calc(100vw - 32px));
  min-height: 640px;
  height: 640px;
}
body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-media-item--instagram .ikuspot-simple-instagram-frame{
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 100%;
}
@media (max-width: 768px){
  body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .spot-grid__cards{
    --ikuspot-simple-list-gutter: 16px;
    padding-left: var(--ikuspot-simple-list-gutter);
    padding-right: var(--ikuspot-simple-list-gutter);
  }
  body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-row[data-has-insta="1"] .ikuspot-simple-media-strip{
    --ikuspot-simple-insta-gap: 6px;
    --ikuspot-simple-insta-peek: 16px;
    /* Keep the icon column empty like maps. */
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    gap: var(--ikuspot-simple-insta-gap);
    scroll-padding-inline: 0;
  }
  body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-media-item--instagram{
    --ikuspot-simple-insta-frame-w: 326px;
    --ikuspot-simple-insta-frame-h: 640px;
    --ikuspot-simple-insta-scale: 1;
    flex-basis: calc(100% - var(--ikuspot-simple-insta-gap) - var(--ikuspot-simple-insta-peek));
    width: calc(100% - var(--ikuspot-simple-insta-gap) - var(--ikuspot-simple-insta-peek));
    max-width: calc(100% - var(--ikuspot-simple-insta-gap) - var(--ikuspot-simple-insta-peek));
    min-height: 0;
    height: auto;
    aspect-ratio: 326 / 640;
  }
  body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-media-item--instagram .ikuspot-simple-instagram-frame{
    width: var(--ikuspot-simple-insta-frame-w);
    min-width: var(--ikuspot-simple-insta-frame-w);
    max-width: none;
    height: var(--ikuspot-simple-insta-frame-h);
    min-height: var(--ikuspot-simple-insta-frame-h);
    transform: scale(var(--ikuspot-simple-insta-scale));
    transform-origin: top left;
  }
}

/* /spots: give Instagram embeds enough width and height without touching maps/images. */
body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related{
  --feature-slide-size: clamp(400px, 38vw, 520px);
  --feature-slide-gap: clamp(10px, 1.8vw, 16px);
  --feature-slide-peek: clamp(12px, 4vw, 28px);
}
body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related .feature-slider__slide--insta{
  min-width: min(100%, var(--feature-slide-size));
  --feature-slide-scale: 1;
  --feature-slide-scale-hover: 1;
  transform: none;
}
body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related .feature-slider__slide--insta .feature-slider__media{
  position: relative;
  aspect-ratio: auto;
  min-height: 640px;
  overflow: hidden;
  background: #fff;
}
body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related .feature-slider__slide--insta .feature-slider__placeholder,
body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related .feature-slider__slide--insta .feature-slider__insta{
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related .feature-slider__slide--insta .feature-slider__placeholder{
  object-fit: cover;
  pointer-events: none;
}
body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related .feature-slider__slide--insta .feature-slider__insta iframe,
body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related .feature-slider__slide--insta .feature-slider__insta blockquote.instagram-media{
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  min-height: 640px;
  margin: 0;
  border: 0;
  box-sizing: border-box;
}
@media (max-width: 768px){
  body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related{
    --feature-slide-size: calc(100vw - 32px);
    --feature-slide-gap: 8px;
    --feature-slide-peek: 12px;
  }
  body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related .feature-slider__slide--insta .feature-slider__media{
    min-height: clamp(560px, 150vw, 640px);
  }
  body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related .feature-slider__slide--insta .feature-slider__insta iframe,
  body.page-spots :is(#spotCategorySliderAggregate, #spotCategorySliders) .feature-slider--related .feature-slider__slide--insta .feature-slider__insta blockquote.instagram-media{
    min-height: clamp(560px, 150vw, 640px);
  }
}

@media (min-width: 1024px){
  body.page-spots .spot-grid{
    --spot-grid-insta-h: 640px;
    --spot-grid-insta-frame-w: max(400px, calc(var(--spot-grid-card-w) - 32px));
  }
  body.page-spots .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media-frame{
    width: min(var(--spot-grid-insta-frame-w), 100%);
  }
}
@media (max-width: 720px){
  body.page-spots:not(.home):not(.front-page) .spot-grid-card[data-has-map="0"][data-has-insta="1"]{
    width: calc(100vw - 32px);
    max-width: calc(100vw - 32px);
  }
  body.page-spots:not(.home):not(.front-page) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media{
    min-height: 560px;
  }
  body.page-spots:not(.home):not(.front-page) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media-frame{
    min-height: 560px;
  }
  body.page-spots:not(.home):not(.front-page) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media-frame iframe,
  body.page-spots:not(.home):not(.front-page) .spot-grid-card[data-has-map="0"][data-has-insta="1"] .spot-grid-card__media-frame blockquote.instagram-media{
    width: 100%;
    max-width: 100%;
    min-height: 560px;
  }
}

body.page-spots.iks-detail-open .iks-spots-page-shell,
body.page-spots.iks-detail-open #site-content,
body.page-spots #locationArchive.is-detail-open,
body.page-spots #locationArchive.is-detail-open .spot-card,
body.page-spots #locationArchive.is-detail-open .spot-card > .spot-media,
body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher,
body.page-spots #locationArchive.is-detail-open .spot-card .media-pane,
body.page-spots #locationArchive.is-detail-open .spot-card .map-wrap,
body.page-spots #locationArchive.is-detail-open .spot-card .map-slider-wrap,
body.page-spots #locationArchive.is-detail-open .spot-card .map-slider,
body.page-spots #locationArchive.is-detail-open .spot-card .map-slide,
body.page-spots #locationArchive.is-detail-open .spot-card .insta-media,
body.page-spots #locationArchive.is-detail-open .spot-card .insta-scroll,
body.page-spots #locationArchive.is-detail-open .spot-card .insta-card{
  background: #000;
}
body.page-spots #locationArchive.is-detail-open .spot-card .spot-header,
body.page-spots #locationArchive.is-detail-open .spot-card .spot-body{
  background: var(--iks-card-meta-bg, #fff);
}
body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"],
body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .media-pane[data-pane="insta"],
body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-media{
  overflow: visible;
}
body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-scroll{
  gap: 12px;
  padding: 12px 16px 20px;
  scroll-padding-inline: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
}
body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-card{
  flex: 0 0 clamp(400px, 42vw, 520px);
  width: clamp(400px, 42vw, 520px);
  min-width: clamp(400px, 42vw, 520px);
  max-width: none;
  min-height: 640px;
  align-items: flex-start;
  overflow: visible;
  scroll-snap-align: start;
  box-sizing: border-box;
}
body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-card .insta-fitter{
  position: static;
  transform: none;
  width: 100%;
  max-width: 100%;
}
body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-card iframe,
body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-card blockquote.instagram-media{
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 640px;
  margin: 0;
  box-sizing: border-box;
}
body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-card .ikuspot-simple-instagram-frame{
  height: 640px;
}
@media (max-width: 768px){
  body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-scroll{
    gap: 8px;
    padding-inline: 16px;
    scroll-padding-inline: 16px;
  }
  body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-card{
    flex-basis: calc(100vw - 32px);
    width: calc(100vw - 32px);
    min-width: calc(100vw - 32px);
    min-height: clamp(560px, 150vw, 640px);
  }
  body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-card iframe,
  body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-card blockquote.instagram-media{
    min-height: clamp(560px, 150vw, 640px);
  }
  body.page-spots #locationArchive.is-detail-open .spot-card .media-switcher[data-state="insta"] .insta-card .ikuspot-simple-instagram-frame{
    height: clamp(560px, 150vw, 640px);
  }
}

/* /spots/ list card body alignment: keep title row position, indent body content. */
body.page-spots #locationArchive[data-iks-spots-view="list"] .ikuspot-simple-row,
body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media{
  --ikuspot-simple-body-indent:35px;
}
@media (min-width:768px){
  body.page-spots #locationArchive[data-iks-spots-view="list"] .ikuspot-simple-row,
  body.page-spots #locationArchive[data-iks-spots-view="list"] .spot-grid-card--no-media{
    --ikuspot-simple-body-indent:37px;
  }
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .ikuspot-simple-body{
  margin-left:var(--ikuspot-simple-body-indent);
  width:calc(100% - var(--ikuspot-simple-body-indent));
  max-width:calc(100% - var(--ikuspot-simple-body-indent));
  box-sizing:border-box;
  min-width:0;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .ikuspot-simple-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0 6px;
  min-width:0;
  font-size:13px;
  line-height:1.4;
  color:#64748b;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .ikuspot-simple-pin{
  flex:0 0 auto;
  font-size:13px;
  line-height:1;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .ikuspot-simple-location{
  display:inline;
  min-width:0;
  color:inherit;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .ikuspot-simple-meta-separator{
  color:#94a3b8;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .ikuspot-simple-distance{
  color:inherit;
  white-space:nowrap;
}
body.page-spots #locationArchive[data-iks-spots-view="list"] .ikuspot-simple-media-strip{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
@media (max-width:768px){
  body.page-spots #locationArchive[data-iks-spots-view="list"]:not(.is-detail-open) .ikuspot-simple-body{
    margin-left:calc(var(--ikuspot-simple-list-content-gutter, 0px) + var(--ikuspot-simple-body-indent));
    width:calc(100% - var(--ikuspot-simple-list-content-gutter, 0px) - var(--ikuspot-simple-body-indent));
    max-width:calc(100% - var(--ikuspot-simple-list-content-gutter, 0px) - var(--ikuspot-simple-body-indent));
    padding-right:var(--ikuspot-simple-list-content-gutter, 0px);
  }
}
