/* Shared homepage polish test. */
.spot-featured-section, .spot-directory, .spot-trust, .spot-pro-promo { width: min(1120px, calc(100% - 60px)) !important; max-width: none !important; margin-right: auto; margin-left: auto; }
.spot-featured-section > h2, .spot-featured-section .wp-block-columns { width: 100% !important; max-width: none !important; margin-right: 0 !important; margin-left: 0 !important; }
.spot-featured-section .wp-block-columns { gap: 24px; }
.spot-featured-section .wp-block-column { overflow: hidden; padding: 0 18px 20px; border: 1px solid #e2e8ee; border-radius: 12px; background: #fff; box-shadow: 0 5px 14px rgba(27,50,75,.06); }
.spot-featured-section .wp-block-column > figure.wp-block-image { width: calc(100% + 36px) !important; max-width: none !important; margin: 0 -18px 18px; }
.spot-featured-section figure picture, .spot-featured-section figure img { display: block; width: 100%; }
.spot-featured-section figure img { aspect-ratio: 4 / 3; object-fit: cover; }
.spot-featured-section .wp-block-column h2 { margin: 0 0 8px; font-size: 25px; line-height: 1.15; }
.spot-featured-section .score { display: none; }
.spot-featured-section .score + p, .spot-featured-section .contacts { margin: 0; font-size: 16px; line-height: 1.45; }
.spot-featured-section .spot-card-location { margin: 0 0 5px !important; color: #647684; font-size: 15px; font-weight: 700; line-height: 1.35; }
.spot-featured-section .spot-card-location a { color: inherit; text-decoration: none !important; }
.spot-featured-section .highlights { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; }
.spot-featured-section .highlights .badge { padding: 4px 7px; font-size: 13px; line-height: 1.2; }
.spot-featured-section .spot-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; margin: 14px 0 0; font-size: 15px; line-height: 1.25; }
.spot-featured-section .spot-action-primary { display: inline-flex; align-items: center; justify-content: center; grid-column: 1 / -1; min-height: 42px; padding: 10px 12px 12px; border-radius: 6px; background: #24436d; color: #fff !important; font-weight: 800; text-decoration: none; }
.spot-featured-section .spot-action-secondary { display: inline-flex; align-items: center; justify-self: start; min-height: 30px; padding: 0; border: 0 !important; border-bottom: 0 !important; background: transparent !important; box-shadow: none !important; color: #24436d; font-weight: 700; text-decoration: none !important; }
.spot-featured-section .spot-action-secondary:hover { color: #163357; text-decoration: underline !important; text-underline-offset: 3px; }
.spot-featured-section .gb-grid-wrapper { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px !important; }
.spot-featured-section .spot-template-card { min-width: 0; overflow: hidden; border: 1px solid #e2e8ee; border-radius: 12px; background: #fff; box-shadow: 0 5px 14px rgba(27, 50, 75, .06); }
.spot-featured-section .spot-template-card > .gb-container { display: flex; flex-direction: column; height: 100%; padding: 0 18px 20px !important; background: #fff !important; box-shadow: none !important; }
.spot-featured-section .spot-template-card figure { width: calc(100% + 36px) !important; max-width: none !important; margin: 0 -18px 18px !important; }
.spot-featured-section .spot-template-card figure img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.spot-featured-section .spot-template-card .spot-template-location { margin: 0 0 5px !important; color: #647684; font-size: 15px; font-weight: 700; line-height: 1.35; }
.spot-featured-section .spot-template-card .spot-template-location a { color: inherit !important; text-decoration: none !important; }
.spot-featured-section .spot-template-card h5 { margin: 0 0 14px !important; color: #2d3663; font-size: 25px !important; line-height: 1.15; }
.spot-featured-section .spot-template-card .spot-template-primary { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; margin-top: auto; padding: 10px 12px 12px; border-radius: 6px; background: #24436d; color: #fff !important; font-size: 15px; font-weight: 800; text-decoration: none !important; }
.spot-featured-section .score, .spot-featured-section .rating, .spot-featured-section [class*="review"] { display: none !important; }
/* Paid verified listings retain a distinct, premium trust signal. */
.gd-badge-meta { display: inline-flex !important; margin: 8px 0 2px !important; }
.gd-badge-meta .gd-badge { display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; margin: 0 !important; padding: 5px 9px 6px !important; border: 1px solid #197144 !important; border-radius: 999px !important; background: #197144 !important; box-shadow: 0 2px 5px rgba(25, 113, 68, .18) !important; color: #fff !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: .02em; line-height: 1 !important; text-transform: uppercase; }
.gd-badge-meta .gd-badge .hover-content-original { display: none !important; }
.gd-badge-meta .gd-badge i { font-size: 11px; }
.spot-hero { min-height: 560px !important; }
.spot-hero .spot-hero__intro { max-width: 760px; margin: 16px auto 0; color: #fff; font-size: 19px; line-height: 1.5; text-align: center; }
.spot-hero .spot-hero__button { display: inline-block; margin-top: 20px; padding: 12px 19px 14px; border-radius: 7px; background: #fff; color: #24436d !important; font-size: 17px; font-weight: 800; text-decoration: none; }
.spot-hero .spot-hero__cities { margin: 15px 0 0; color: #fff; font-size: 17px; text-align: center; }
.spot-hero .spot-hero__cities a { color: #fff; font-weight: 700; }
.spot-trust { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 24px; margin-bottom: 38px; }
.spot-trust__item { padding: 18px; border: 1px solid #e2e8ee; border-radius: 10px; background: #f7fafc; color: #526572; }
.spot-trust__item strong { display: block; margin-bottom: 4px; color: #24436d; font-size: 17px; }
.spot-popular-cities { margin: 0 auto 40px; max-width: 1060px; }
.spot-popular-cities h2 { margin-bottom: 14px; color: #24436d; }
.spot-popular-cities__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.spot-popular-cities__grid a { display: block; padding: 14px 16px; border: 1px solid #e2e8ee; border-radius: 8px; background: #fff; color: #24436d; font-weight: 700; text-decoration: none; }
.spot-popular-cities__grid a:hover { background: #f5f8fa; }
.spot-pro-promo { position: relative; display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; gap: 28px; margin-top: 36px; margin-bottom: 36px; padding: 32px; overflow: hidden; border-radius: 14px; background: linear-gradient(135deg,#183b5d,#285b78); color: #fff; }
.spot-pro-promo.is-linkable { cursor: pointer; }
.spot-pro-promo::after { position: absolute; right: -52px; bottom: -72px; width: 210px; height: 210px; border: 30px solid rgba(233,185,73,.24); border-radius: 50%; content: ""; }
.spot-pro-promo > * { position: relative; z-index: 1; }
.spot-pro-promo__eyebrow { margin: 0 0 7px; color: #f4d789; font-size: 13px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.spot-pro-promo h2 { margin: 0 0 8px; color: #fff; font-size: 27px; line-height: 1.18; }
.spot-pro-promo__text { margin: 0; max-width: 650px; color: #e6f0f5; font-size: 17px; }
.spot-pro-promo__button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; box-sizing: border-box; margin: 0 !important; padding: 14px 20px 17px !important; border: 0; border-radius: 7px; background: #e9b949; color: #183b5d !important; font-size: 16px; font-weight: 800; line-height: 1; text-align: center; text-decoration: none; white-space: nowrap; }
.spot-city-tools { display: flex; align-items: end; flex-wrap: wrap; gap: 14px; margin: 0 0 18px; }
.spot-city-search { display: grid; gap: 5px; }
.spot-city-search label { color: #24436d; font-weight: 700; }
.spot-city-search input, .spot-state-jump select { min-width: 220px; padding: 9px 11px; border: 1px solid #cfd9e1; border-radius: 6px; background: #fff; color: #24436d; font: inherit; }
.spot-state-jump { display: grid; gap: 5px; }
.spot-state-jump label { color: #24436d; font-weight: 700; }
.spot-directory .state-row { display: block !important; margin: 0; padding: 0; border: 0; border-bottom: 1px solid #dde4e9; }
.spot-directory .state-row summary { display: grid; grid-template-columns: 180px 1fr; align-items: center; gap: 18px; padding: 11px 0; cursor: pointer; list-style: none; }
.spot-directory .state-row summary::-webkit-details-marker { display: none; }
.spot-directory .state-row .state-name { grid-column: 1; }
.spot-directory .state-row .spot-city-count { grid-column: 2; justify-self: start; color: #6e7c86; font-size: 14px; white-space: nowrap; }
.spot-directory .state-row .cities-wrapper { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-left: 198px; padding: 0 0 14px; }
.spot-directory .state-row .city-name { margin: 0; }
.spot-directory .state-row[hidden], .spot-directory .city-name[hidden] { display: none !important; }
@media (max-width: 768px) { .spot-featured-section .wp-block-columns { gap: 18px; } .spot-featured-section .gb-grid-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px !important; } }
@media (max-width: 600px) { .spot-hero { min-height: 590px !important; } .spot-hero .spot-hero__intro { font-size: 17px; } .spot-featured-section, .spot-directory, .spot-trust, .spot-pro-promo { width: auto !important; margin-right: 18px; margin-left: 18px; } .spot-trust { grid-template-columns: 1fr; margin-top: 24px; margin-bottom: 38px; } .spot-popular-cities__grid { grid-template-columns: 1fr; } .spot-pro-promo { align-items: flex-start; flex-direction: column; gap: 18px; padding: 23px 20px; } .spot-pro-promo__button { width: 100%; } .spot-featured-section .spot-actions { gap: 10px 16px; } .spot-city-tools { align-items: stretch; flex-direction: column; } .spot-city-search input, .spot-state-jump select { width: 100%; } .spot-directory .state-row { border: 1px solid #dde4e9; border-radius: 8px; margin: 8px 0; } .spot-directory .state-row summary { grid-template-columns: 1fr auto; gap: 8px; padding: 14px; } .spot-directory .state-row summary::after { content: "+"; color: #24436d; font-weight: 700; } .spot-directory .state-row[open] summary::after { content: "−"; } .spot-directory .state-row .state-name { grid-column: 1; } .spot-directory .state-row .spot-city-count { grid-column: 2; grid-row: 1; padding-right: 20px; } .spot-directory .state-row .cities-wrapper { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin-left: 0; padding: 0 14px 14px; } .spot-directory .state-row .city-name { padding: 8px 0; } }
