/* Overseas travel cleanup v1 — compact country groups, aligned cards, sticky booking. */
.country-region-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:20px}
.country-region-group{border:1px solid #ccd6e7;border-radius:14px;background:rgba(255,255,255,.88);overflow:hidden}
.country-region-group[open]{grid-column:1/-1;background:#fff}
.country-region-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:10px 14px;cursor:pointer;list-style:none}
.country-region-group summary::-webkit-details-marker{display:none}
.country-region-group summary:after{content:"+";color:#596c82;font-weight:900}
.country-region-group[open] summary:after{content:"–"}
.country-region-group summary strong{font-size:14px;color:#253b55}
.country-region-group summary span{font-size:11px;color:#718095;white-space:nowrap}
.country-region-group .country-grid{margin:0;padding:0 12px 12px}
.country-region-group[open] .country-grid{display:flex}
.country-region-group:not([open]) .country-grid{display:none}

.place-secondary-links{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:9px;padding-top:9px;border-top:1px solid #edf1f5}
.place-secondary-links>a{font-size:11px;font-weight:800;color:#536a7d;text-decoration:underline!important;text-underline-offset:2px}
.place-secondary-links .ot-taxi{margin:0;flex:1 1 100%}
.place-secondary-links .ot-taxi>summary{min-height:38px}

@media(min-width:1101px){
  .overseas-page main.wrap{width:min(1420px,calc(100% - 36px));padding-right:324px;position:relative}
  .overseas-booking-sticky{position:fixed;z-index:45;top:86px;right:max(18px,calc((100vw - 1420px)/2 + 18px));width:286px;max-height:calc(100vh - 104px);overflow:auto;scrollbar-width:thin}
  .overseas-booking-sticky .booking-panel{margin:0;padding:16px;border-radius:16px;box-shadow:0 12px 34px rgba(22,59,80,.12)}
  .overseas-booking-sticky .booking-copy h2{font-size:20px}
  .overseas-booking-sticky .booking-copy>p:last-child{font-size:12px;line-height:1.5}
  .overseas-booking-sticky .booking-actions{grid-template-columns:1fr;gap:8px;margin-top:12px}
  .overseas-booking-sticky .booking-actions a{min-height:48px;padding:0 11px}
  .overseas-booking-sticky .booking-actions strong{font-size:12px;line-height:1.35}
  .overseas-booking-sticky .booking-actions span{font-size:17px}
  .overseas-booking-sticky .booking-note,.overseas-booking-sticky .booking-affiliate{font-size:10px}
  .overseas-page .overseas-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .overseas-page .actions{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:1100px){
  .overseas-booking-sticky{position:static;margin:18px 0}
  .overseas-booking-sticky .booking-panel{margin:0}
  .country-region-groups{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:650px){
  .country-region-groups{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scroll-snap-type:x proximity}
  .country-region-group{flex:0 0 auto;min-width:150px;scroll-snap-align:start}
  .country-region-group[open]{flex-basis:100%;min-width:100%}
  .country-region-group summary{min-height:44px;padding:9px 12px}
  .country-region-group[open] .country-grid{flex-wrap:nowrap;overflow-x:auto;padding:0 10px 10px}
  .overseas-booking-sticky{margin:14px 0}
  .overseas-booking-sticky .booking-panel{padding:15px}
  .place-secondary-links{align-items:stretch}
  .place-secondary-links>a{display:inline-flex;min-height:38px;align-items:center}
}

/* Second density pass */
.overseas-page .content-head{margin-top:24px}
.overseas-page .result-line{margin:6px 0 10px}
.overseas-page .overseas-place-grid{gap:12px}
.overseas-page .overseas-place-card .body{padding:14px}
.overseas-page .overseas-place-card .verified-date{margin:8px 0}
.overseas-page .overseas-place-card .address{margin:9px 0 6px}
.overseas-page .overseas-place-card .hours{margin-bottom:7px}
.overseas-page .overseas-place-card .trip-save{margin-top:7px!important;min-height:40px!important}
.place-category-heading{grid-column:1/-1;margin:6px 0 0;padding:8px 12px;border-radius:10px;background:#f1f5fb;color:#2c4664;font-size:15px!important;line-height:1.2}
.place-category-heading.type-attraction{border-left:4px solid #4b76d1}
.place-category-heading.type-food{border-left:4px solid #d9783a}
.place-category-heading.type-lodging{border-left:4px solid #7253b5}
@media(min-width:1101px){
 .overseas-page main.wrap{width:min(1460px,calc(100% - 24px));padding-right:302px}
 .overseas-booking-sticky{right:8px;width:270px;top:78px;max-height:calc(100vh - 90px)}
 .overseas-booking-sticky .booking-panel{padding:14px}
 .overseas-booking-sticky .booking-actions a{min-height:44px}
}

/* Map interaction pass: compact collapsed map, stronger action colors, denser flow. */
.overseas-page .local-tools{margin:14px 0 10px;padding:16px}
.overseas-page .local-tools-grid{margin-top:12px}
.overseas-page #owned-map{margin:0 0 12px}
.overseas-page #owned-map .owned-map-heading{display:none}
.overseas-page #owned-map-canvas{margin-top:0}
.overseas-page .map-discovery-strip{margin:0 0 8px}
.overseas-page .google-map-handoff{margin:10px 0 12px;padding:14px 16px}
.overseas-page .google-map-open{min-height:44px;background:#365fd6}
.overseas-page .map-view-links a{font-weight:850}
.overseas-page .map-view-links a[aria-current],.overseas-page .map-view-links a:hover{background:#244d8f;color:#fff;border-color:#244d8f}
.overseas-page .country-city-cta{color:#245fc4}
.overseas-page .country-city-counts a{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:850;text-decoration:none}
.overseas-page .country-city-counts a.attraction{background:#edf5ff;color:#1d5f9c}
.overseas-page .country-city-counts a.food{background:#fff2e9;color:#a55218}
.overseas-page .country-city-counts a.lodging{background:#edf8f1;color:#247044}
.overseas-page #overseas-map[data-map-style="satellite-hybrid"]{background:#172c39}
.overseas-page .map-discovery-strip .md-chip[data-map-category="attraction"]{border-color:#81a7e8;background:#eef4ff;color:#265da6}
.overseas-page .map-discovery-strip .md-chip[data-map-category="food"]{border-color:#e2a47a;background:#fff4eb;color:#a04f22}
.overseas-page .map-discovery-strip .md-chip[data-map-category="lodging"]{border-color:#b7a1dd;background:#f5efff;color:#6243a0}
.overseas-page .map-discovery-strip .md-chip[aria-pressed="true"]{color:#fff!important;background:#315fd1!important;border-color:#315fd1!important}
.overseas-page .photo.commons-photo.commons-missing{height:72px!important;min-height:72px!important}
.overseas-page .photo.commons-photo.commons-missing .commons-placeholder{height:72px!important;min-height:72px!important;font-size:11px}
@media(max-width:650px){
 .overseas-page .local-tools{margin:10px 0 8px;padding:12px}
 .overseas-page .google-map-handoff{margin:8px 0 10px;padding:12px}
}

/* Commons fallback should not reserve a giant blank block while the photo search runs. */
.overseas-page .overseas-place-card .photo.commons-photo:not(.commons-missing){height:220px!important;min-height:220px!important}
.overseas-page .overseas-place-card .photo.commons-photo:not(.commons-missing)>img{height:100%!important;object-fit:cover}
.overseas-page .overseas-place-card .photo.commons-photo.commons-missing,
.overseas-page .overseas-place-card .photo.commons-photo.commons-missing .commons-placeholder{height:64px!important;min-height:64px!important}
.overseas-page .overseas-place-card .address,.overseas-page .overseas-place-card .hours{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.overseas-page .overseas-place-card .address{-webkit-line-clamp:2}
.overseas-page .overseas-place-card .hours{-webkit-line-clamp:2}
.overseas-page .overseas-place-card .actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.overseas-page .overseas-place-card .place-secondary-links{margin-top:7px;padding-top:7px}
.overseas-page .overseas-place-card .place-secondary-links .ot-taxi>summary{min-height:34px;padding-top:5px;padding-bottom:5px}
@media(max-width:650px){
 .overseas-page .overseas-place-card .photo.commons-photo:not(.commons-missing){height:205px!important;min-height:205px!important}
 .overseas-page .overseas-place-card .photo.commons-photo.commons-missing,
 .overseas-page .overseas-place-card .photo.commons-photo.commons-missing .commons-placeholder{height:58px!important;min-height:58px!important}
}

/* Consumer compact pass: keep overseas tools available without a long mobile page. */
.overseas-page .local-tools-copy h2{margin:0 0 3px;font-size:20px}
.overseas-page .local-tools-copy small{margin-top:2px}
.overseas-page .local-tools-more{margin-top:8px}
.overseas-page .local-tools-more>summary{cursor:pointer;font-size:11px;font-weight:800;color:#58756e}
.overseas-page .local-tools-more .local-tools-note{margin-top:5px}
@media(max-width:680px){
 .overseas-page .local-tools{padding:11px;margin:8px 0}
 .overseas-page .local-tools-grid{display:flex;gap:7px;overflow-x:auto;margin-top:9px;padding-bottom:4px;scroll-snap-type:x proximity}
 .overseas-page .local-tools-grid>a,.overseas-page .local-tools-grid>button{flex:0 0 145px;min-height:46px;padding:7px 9px;scroll-snap-align:start}
 .overseas-page .overseas-booking-sticky{margin:8px 0}
 .overseas-page .overseas-booking-sticky .booking-panel{padding:10px}
 .overseas-page .overseas-booking-sticky .booking-copy>p,.overseas-page .overseas-booking-sticky .booking-kicker,.overseas-page .overseas-booking-sticky .booking-note,.overseas-page .overseas-booking-sticky .booking-affiliate{display:none}
 .overseas-page .overseas-booking-sticky .booking-copy h2{font-size:17px;margin-bottom:7px}
 .overseas-page .overseas-booking-sticky .booking-actions{display:flex;gap:7px;overflow-x:auto;margin-top:0;padding-bottom:3px}
 .overseas-page .overseas-booking-sticky .booking-actions a{flex:0 0 150px;min-height:44px;padding:7px 9px}
}

/* Larger overseas card photography + compact action flow. */
.overseas-page .overseas-place-card .commons-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px;background:#fff}
.overseas-page .overseas-place-card .commons-gallery a{display:block;height:72px;overflow:hidden;border-radius:9px;background:#eef3f7}
.overseas-page .overseas-place-card .commons-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.overseas-page .overseas-place-card .actions a{min-height:40px}
.overseas-page .overseas-place-card .place-secondary-links>a{font-size:10px}
@media(max-width:650px){
 .overseas-page .overseas-place-card .commons-gallery a{height:68px}
 .overseas-page .overseas-place-card .body{padding:14px}
 .overseas-page .overseas-place-card .verified-date{margin:6px 0}
 .overseas-page .overseas-place-card .trip-save{min-height:38px!important}
}


/* 2026-10-06 consumer audit: compact continent cards on mobile.
   Closed groups must not stretch to the height of an opened sibling. */
@media(max-width:650px){
  .country-region-groups{
    align-items:flex-start;
    gap:7px;
    padding-bottom:6px;
  }
  .country-region-group{
    align-self:flex-start;
    min-width:128px;
    max-width:128px;
    border-radius:12px;
  }
  .country-region-group[open]{
    flex:0 0 min(82vw,300px);
    min-width:min(82vw,300px);
    max-width:min(82vw,300px);
  }
  .country-region-group summary{
    min-height:40px;
    padding:7px 10px;
  }
  .country-region-group summary strong{font-size:13px}
  .country-region-group summary span{font-size:10px}
  .country-region-group[open] .country-grid{
    gap:6px;
    padding:0 8px 8px;
  }
  .country-region-group[open] .country{
    min-height:36px;
    padding:6px 9px;
    font-size:12px;
  }
}

/* 2026-10-06 Guam consumer audit: no page-level horizontal spill, compact desktop cards. */
body.overseas-page{overflow-x:clip}
.overseas-page main.wrap{max-width:100%;min-width:0}
.overseas-page .search-row>.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;
  white-space:nowrap!important;border:0!important
}
.overseas-page .booking-actions strong{min-width:0;overflow-wrap:anywhere}
@media(min-width:1101px){
  .overseas-page .overseas-place-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important
  }
  .overseas-page .overseas-place-card{min-width:0;margin:0!important}
  .overseas-page .overseas-place-card .photo.commons-photo:not(.commons-missing){height:190px!important;min-height:190px!important}
}
