/* --- 1. 布局容器 (Layout) --- */
.section--banner {
  background-image:  var(--bg-mobile, var(--bg-tablet, var(--bg-desktop)));
}

.wrap--banner {
  height: 50vh;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.banner-title {
  color: var(--background-color);
  font-size: 3.5rem;
  /* font-family: inherit; */
  text-shadow: 2px 2px 8px var(--brand-black-color);
}
.section--single-store-title-area {
  background: var(--brand-grey-color);
  padding: 10px 0;
}
.section--single-store {
    background: linear-gradient(to bottom, var(--brand-grey-color), var(--brand-ivory-color));
  color: var(--brand-black-color);
  background-color: var(--brand-grey-color);
}

.section--single-store h1,
.section--single-store h2,
.section--single-store h3,
.section--single-store p,
.section--single-store a {
  color: var(--brand-black-color);
}
#store-details-view,
#store-booking-view {
  grid-area: content;
}
#store-booking-view {
  height: 600px;
}
.details-view-active .wrap--single-store {
  grid-template-areas: "info" "content";
}
.details-view-active #store-booking-view {
  display: none;
}
.booking-view-active .wrap--single-store {
  grid-template-areas: "content" "info";
}
.booking-view-active #store-details-view {
  display: none;
}
.details-view-active .subtitle__booking-prompt { display: none; }
.details-view-active .store-cta-bar { display: flex; }

.booking-view-active .subtitle__booking-prompt { display: block; }
.booking-view-active .store-cta-bar { display: none; }
.wrap--single-store-title-area {
  gap: 0;
  padding-bottom: 20px;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.reservation-form__subtitle {
 font-weight: bold;
}

.store-cta-container {
  display: flex;
  justify-content: center; 
  align-items: center;    
  padding: 10px 0;       
  width: 100%;
}
.store-cta-bar {
  display: inline-flex; 
  align-items: center;
  justify-content: center;
  padding: 12px 32px; 
  min-height: 55px;  
  box-sizing: border-box; 
  background-color: var(--brand-red-color);
  color: var(--background-color);
  border: 2px solid transparent; 
  border-radius: 5px;
  /* font-family: inherit; */
  font-size: 1.2em;
  font-weight: bold; 
  text-decoration: none; 
  line-height: 1.4; 
  letter-spacing: 0.5px; 
  cursor: pointer;
  transition: transform var(--transition-duration) var(--animation-curve), box-shadow var(--transition-duration) var(--animation-curve);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}




.info-card {
  grid-area: 'info';
  background-color: var(--background-color);
  padding: 25px;
  border-radius: 8px;
  border: 1px solid var(--brand-grey-color);
}


.info-card__title {
  margin-top: 20px;
  margin-bottom: 20px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--brand-grey-color);
}

.info-card__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 15px;
  /* 列表项之间的间距 */
}

.info-card__item {
  display: flex;
  flex-direction: column;
  font-size: 0.95em;
}

.info-card__item-label {
  font-weight: 600;
  /* color: var(--brand-black-color); */
  margin-bottom: 4px;
}

.info-card__item-value {
  /* color: var(--brand-grey-color); */
  display: flex;
  align-items: center;
  min-height: 48px;
  line-height: 2;
}

.info-card__item-value a {
  display: flex;
  align-items: center;
  align-self: stretch;
  color: inherit;
  text-decoration: none;
}


.static-map-container {
width: 100%;
max-width: 600px;
  aspect-ratio: 600 / 400;
place-self: center;
position: relative;;
  margin: 2em auto; 
  line-height: 0;
  overflow: hidden;    
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); 
  transition: transform var(--transition-duration) var(--animation-curve), var(--transition-duration) var(--animation-curve);
}


.static-map-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#booking-iframe {
  width: 100%;
  height: 100%;
  border: none;
}


@media (min-width: 768px) {
  .section--banner {
  background-image:  var(--bg-tablet, var(--bg-desktop));
}

.store-cta-bar {
width: 60%;
}

}

@media (min-width: 1024px) {
  .section--banner {
  background-image:  var(--bg-desktop);
}
  .wrap--single-store {
    grid-template-columns: 1fr 1fr;
    
  }
  .details-view-active .wrap--single-store {
  grid-template-areas: "info content";
}

.booking-view-active .wrap--single-store {
  grid-template-areas: "info content";
}
.static-map-container:hover {
  transform: translateY(-5px); 
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2); 
}

.store-cta-bar:hover,
.store-cta-bar:focus-visible {
  transform: translateY(-3px) scale(1.02); 
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.store-cta-bar:active {
  transform: translateY(0) scale(1); 
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
}