.location-page [hidden] { display: none !important; }
.location-page .product-section-nav a { overflow-wrap: anywhere; }
.location-hub-hero h1 { max-width: 56rem; }
.location-region-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 60rem; gap: 1rem; margin-top: 2.5rem; }
.location-region-stats a { position: relative; display: flex; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; border: 1px solid #ffffff40; border-radius: .75rem; background: #ffffff0d; }
.location-region-stats strong { font-size: 2rem; color: white; }
.location-region-stats span { font-size: .875rem; color: #fee2e2; }
.location-region-stats b { margin-left: auto; }
.location-filter-bar { display: flex; align-items: end; flex-wrap: wrap; gap: 1rem; padding: 1.5rem; margin-top: 2rem; border: 1px solid #e5e7eb; border-radius: 1rem; background: #f9fafb; }
.location-filter-bar > div:first-child { flex: 2 1 250px; }
.location-filter-bar > div:nth-child(2) { flex: 1 1 180px; }
.location-filter-bar label { display: block; color: #374151; font-weight: 650; font-size: .875rem; margin-bottom: .5rem; }
.location-filter-bar input, .location-filter-bar select { width: 100%; min-width: 0; min-height: 48px; padding: .75rem 1rem; border: 1px solid #d1d5db; border-radius: .5rem; background: white; color: #111827; font: inherit; }
.location-filter-bar input:focus-visible, .location-filter-bar select:focus-visible { outline: 2px solid #ee2f1c; outline-offset: 2px; }
.location-filter-bar button { min-height: 48px; padding: .75rem 1rem; color: #b91c1c; font-weight: 700; }
.location-result-count { margin-top: 1rem; color: #6b7280; font-size: .875rem; }
.location-empty { padding: 2rem; margin-top: 2rem; text-align: center; background: #fef2f2; border-radius: 1rem; }
.location-region { padding-top: 3rem; scroll-margin-top: 6rem; }
.location-region-heading { display: flex; justify-content: space-between; align-items: start; gap: 1.5rem; margin-bottom: 1.5rem; }
.location-region-heading p { max-width: 48rem; color: #4b5563; line-height: 1.7; }
.location-region-heading > span { white-space: nowrap; border-radius: 2rem; background: #fef2f2; padding: .5rem 1rem; color: #b91c1c; font-size: .8rem; font-weight: 700; }
.location-country-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.location-country-card { display: flex; flex-direction: column; align-items: start; min-width: 0; padding: 1.5rem; border: 1px solid #e5e7eb; border-radius: 1rem; background: white; transition: border-color .2s, box-shadow .2s; }
.location-country-card:hover { border-color: #fca5a5; box-shadow: 0 8px 20px #1118270c; }
.location-code { display: inline-flex; color: #b91c1c; background: #fef2f2; padding: .4rem .6rem; border-radius: .4rem; font-weight: 750; font-size: .7rem; letter-spacing: .1em; margin-bottom: 1.2rem; }
.location-country-card p { color: #6b7280; font-size: .875rem; line-height: 1.6; margin: .7rem 0 1.5rem; }
.location-country-card .product-text-link { margin-top: auto; }
.location-hero-grid { display: grid; grid-template-columns: 1.65fr 1fr; gap: 3rem; align-items: center; }
.location-country-hero h1 { font-size: clamp(1.9rem, 3.5vw, 3.1rem); }
.location-country-hero .product-actions { margin-top: 1.5rem; }
.location-country-hero .product-button-secondary { color: white; border-color: #ffffff70; }
.location-hero-image { position: relative; background: white; border-radius: 1rem; padding: 1.25rem; color: #4b5563; min-width: 0; }
.location-hero-image img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: contain; }
.location-hero-image p { text-align: center; font-size: .75rem; padding-top: .75rem; border-top: 1px solid #f3f4f6; }
.location-country-code { position: absolute; right: 1rem; top: 1rem; background: #fef2f2; color: #b91c1c; border-radius: .4rem; padding: .4rem .6rem; font-weight: 800; font-size: .7rem; }
.location-intro-grid { display: grid; grid-template-columns: 1.8fr 1fr; gap: 4rem; align-items: start; }
.location-intro-grid > *, .location-hero-grid > * { min-width: 0; }
.location-rating { padding: 1.75rem; border: 1px solid #fecaca; border-radius: 1rem; background: #fffafa; }
.location-rating .location-rating-value { color: #111827; font-size: 3.5rem; font-weight: 850; line-height: 1.1; margin-bottom: .5rem; }
.location-rating-value span { color: #6b7280; font-size: 1.25rem; font-weight: 500; margin-left: .4rem; }
.location-rating p { color: #4b5563; line-height: 1.7; font-size: .875rem; margin-bottom: .6rem; }
.location-rating .location-stars { color: #b45309; font-size: 1.35rem; letter-spacing: .12em; }
.location-rating a { display: inline-block; margin-top: .4rem; }
.location-rating .location-small { font-size: .75rem; margin: 1rem 0 0; color: #6b7280; }
.location-reading-width { max-width: 55rem; }
.location-brands { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1.5rem; margin-top: 2rem; align-items: start; }
.location-brand { border-radius: 1rem; background: white; padding: 1.75rem; border: 1px solid #e5e7eb; min-width: 0; }
.location-brand:nth-child(2) .product-eyebrow { color: #1d4ed8; }
.location-model-list { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.location-brand:nth-child(2) .location-model-list { grid-template-columns: 1fr; }
.location-model-list a { display: flex; justify-content: space-between; align-items: center; gap: .5rem; min-height: 58px; height: 100%; padding: .85rem; border: 1px solid #e5e7eb; border-radius: .5rem; color: #374151; font-size: .8rem; font-weight: 650; line-height: 1.5; }
.location-model-list a:hover { color: #b91c1c; border-color: #fca5a5; background: #fffafa; }
.location-model-list span { color: #c32618; }
.location-implement-links { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.location-implement-links a { padding: .9rem 1rem; border-radius: .5rem; border: 1px solid #e5e7eb; color: #b91c1c; font-size: .875rem; font-weight: 650; }
.location-order-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.location-order-steps article { padding: 1.5rem; background: white; border: 1px solid #e5e7eb; border-radius: 1rem; }
.location-order-steps span { display: block; color: #c32618; font-size: .8rem; font-weight: 800; margin-bottom: 1rem; }
.location-order-steps p { color: #4b5563; font-size: .875rem; line-height: 1.8; margin-top: .75rem; }
.location-bottom-actions { margin-top: 2rem; }
.location-related { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.location-related a { position: relative; padding: 1.5rem 2.5rem 1.5rem 1.5rem; border-radius: .75rem; border: 1px solid #e5e7eb; }
.location-related span { font-weight: 750; color: #111827; display: block; }
.location-related small { display: block; margin-top: .5rem; color: #6b7280; }
.location-related b { position: absolute; right: 1rem; top: 1.5rem; color: #c32618; }
@media (max-width: 1100px) { .location-country-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .location-hero-grid { gap: 1.5rem; } }
@media (max-width: 900px) { .location-intro-grid, .location-brands { grid-template-columns: 1fr; gap: 2rem; } .location-country-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .location-hero-grid { grid-template-columns: 1fr; } .location-hero-image { display: none; } .location-region-stats a { flex-direction: column; align-items: start; gap: .4rem; } .location-region-stats b { position: absolute; right: 1rem; top: 1rem; } .location-brand:nth-child(2) .location-model-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .location-region-stats { gap: .6rem; } .location-region-stats a { padding: 1rem .7rem; } .location-region-stats span { font-size: .75rem; } .location-region-stats b { display: none; } .location-region-heading { flex-direction: column; gap: .75rem; } .location-country-grid, .location-model-list, .location-brand:nth-child(2) .location-model-list, .location-order-steps, .location-related, .location-implement-links { grid-template-columns: 1fr; } .location-brand { padding: 1.25rem; } .location-filter-bar { padding: 1rem; } .location-country-card { padding: 1.25rem; } .location-region { padding-top: 2rem; } }
