.trip-shopping-section, .trip-shopping-section * { box-sizing: border-box; }
.trip-shopping-section { margin-block: 28px; color: #171A2B; min-width: 0; }
.trip-shopping-heading { margin-bottom: 14px; }
.trip-shopping-heading h2 { margin: 0 0 6px; font-size: clamp(23px, 3vw, 30px); }
.trip-shopping-heading p { margin: 0; color: #555A70; font-size: 14px; }
.trip-shopping-hint { display: none; margin: 0 0 10px; color: #555A70; font-size: 13px; }
.trip-shopping-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.trip-shopping-grid:focus-visible { outline: 3px solid #C2265A; outline-offset: 3px; }
.trip-shopping-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #D7D8E3; border-radius: 10px; background: #FFFFFF; }
.trip-shopping-art { display: grid; place-items: center; width: 100%; aspect-ratio: 3 / 2; overflow: hidden; background: #F4F4F7; }
.trip-shopping-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.trip-shopping-brand-art { padding: 14px; }
.trip-shopping-brand-art span { max-width: 100%; color: #171A2B; font: 800 clamp(22px, 4.4vw, 40px)/1.1 Anuphan, sans-serif; letter-spacing: -.04em; overflow-wrap: anywhere; }
.trip-shopping-body { display: flex; flex-direction: column; flex: 1; min-width: 0; padding: 14px; }
.trip-shopping-brand { margin: 0 0 7px; color: #555A70; font-size: 12px; font-weight: 650; }
.trip-shopping-body h3 { margin: 0 0 8px; color: #171A2B; font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.trip-shopping-description { margin: 0 0 12px; color: #555A70; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.trip-shopping-details { margin-top: auto; border-top: 1px solid #D7D8E3; }
.trip-shopping-details summary { min-height: 44px; padding-block: 11px; color: #171A2B; cursor: pointer; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.trip-shopping-details summary:focus-visible { outline: 3px solid #C2265A; outline-offset: 3px; }
.trip-shopping-details ul { margin: 0 0 4px; padding-left: 20px; color: #555A70; font-size: 13px; line-height: 1.7; }
.trip-shopping-details li + li { margin-top: 7px; }
@media (max-width: 700px) {
  .trip-shopping-hint { display: block; }
  .trip-shopping-grid { display: flex; flex-flow: row nowrap; width: 100%; min-width: 0; max-width: 100%; gap: 12px; overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x proximity; overscroll-behavior-x: contain; }
  .trip-shopping-card { flex-grow: 0; flex-shrink: 0; flex-basis: 100%; flex-basis: calc(100% - 12px); width: 100%; width: calc(100% - 12px); max-width: 100%; scroll-snap-align: start; }
}
@media (min-width: 1050px) {
  .trip-shopping-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
  .trip-shopping-body h3 { font-size: 18px; }
}
