/* =========================================
LOCATIONS DIRECTORY / LOCATION CARD
========================================= */
.locations-page__filter { display: flex; align-items: center; gap: 14px; margin-bottom: 40px; flex-wrap: wrap;margin-top: 60px; }
.locations-page__filter-icon { display: inline-flex; color: var(--color-gold); font-size: 18px; }
.locations-page__filter-label { font-weight: 600; font-size: 18px; white-space: nowrap; }
.locations-page__select { min-width: 430px; padding: 12px 40px 12px 20px; border-radius: var(--radius-pill); border: 1.5px solid var(--color-primary-dark); background-color: var(--color-white); color: var(--color-gray-700); font-weight: 500; font-size: 16px; appearance: none; background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 3.75L6 8.25L10.5 3.75' stroke='%23212529' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 12px; cursor: pointer; transition: var(--transition-default); }

.locations-page__active-filters { margin-bottom: 28px; }
.locations-page__active-filters[hidden] { display: none; }
.locations-page__chip { display: inline-flex; align-items: center; gap: 10px; padding: 8px 10px 8px 18px; border-radius: var(--radius-pill); border: 1px solid var(--color-border); background: var(--color-panel); font-weight: 700; font-size: 15px; color: var(--color-gray-700); }
.locations-page__chip-remove { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; border: 0; background: transparent; color: var(--color-gray-500); font-size: 18px; line-height: 1; cursor: pointer; }
.locations-page__chip-remove:hover { background: var(--color-border); color: var(--color-dark); }

.locations-page__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.locations-page__empty { grid-column: 1 / -1; text-align: center; color: var(--color-gray-500); }
.locations-page__wrapper.is-loading { opacity: 0.5; pointer-events: none; }

.location-card { display: flex; flex-direction: column; background: var(--color-white); border: 1px solid var(--color-border); border-radius: 5px; overflow: hidden; }
.location-card[hidden] { display: none; }

.location-card__image { position: relative; width: 100%; height:150px; overflow: hidden;-webkit-clip-path: polygon(0 0,100% 0,100% 56%,0 100%);clip-path: polygon(0 0,100% 0,100% 90%,0 100%); }
.location-card__img { width: 100%; height: 100%; object-fit: cover; }
.location-card__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(4, 4, 35, 0.45), rgba(0, 0, 0, 0.45)); }
.location-card__location { position: absolute; left: 30px; top: 30px; right: 40px; z-index: 1; }
.location-card__city { color: var(--color-white); font-size: 18px; font-weight: 400; margin-bottom: 3px !important; text-shadow: 1px 1px 4px rgb(0 0 0 / .5); }
.location-card__state { color: var(--color-white); font-size: 32px; font-weight: 800; margin-bottom: 0 !important; line-height: 1.1; text-shadow: 1px 1px 4px rgb(0 0 0 / .5); }

.location-card__content { display: flex; flex-direction: column; flex: 1; padding: 30px; }
.location-card__description { font-size: 18px; line-height: 1.75; margin-bottom: 22px !important; }
.location-card__button { margin-top: auto; width: 100%; }
.location-card__label {font-size: 14px;font-weight: 400;text-transform: uppercase;color: #555; margin-bottom:5px;}
.location-card__address {font-size: 16px;font-style: normal;color: var(--color-black);font-weight: 500;}
.location-card__phone { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: 16px; font-weight: 500; color: var(--color-black); text-decoration: none; }
.location-card__phone:hover { color:var(--color-gold);}

.location-card--cta { align-items: start; justify-content: center; text-align: left; background: var(--color-panel); border: 2px dashed var(--color-border); padding: 40px 30px; }
.location-card__cta-icon { display: inline-flex; font-size: 48px; color: #999; margin-bottom: 50px;justify-content: center;width: 100%; }
.location-card__cta-label {color: #999;font-size: 18px; margin-bottom: 15px !important;font-weight: 500; line-height:1.2; }
.location-card__cta-state { font-size: 32px; font-weight: 800; color: #999; margin-bottom: 15px !important; line-height: 1.2; }
.location-card__cta-text { font-size: 18px; color: var(--color-dark); margin-bottom: 15px !important; }
.location-card__cta-link { color: #333;font-size: 18px; text-decoration: underline; }
.location-card__cta-link:hover { color: var(--color-gold);}

/* Request a Quote layout (single-location template)
   (.quote-form and .cta-strip box styles live in the theme's global.css) */
.quote__grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: start; }
@media (max-width: 1199px) {
	.locations-page__grid { gap: 22px; }
	.location-card__state { font-size: 25px; }
}

@media (max-width: 1023px) {
	.locations-page__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
	.quote__grid { grid-template-columns: 1fr; }
	.locations-page__filter { margin-top:30px; }
}

@media (max-width: 767px) {
	.locations-page__filter { gap: 12px; margin-bottom: 28px;flex-direction: row; align-items: center; }
	.locations-page__filter-label { font-size: 16px; }
	.locations-page__select { width: 100%;flex-basis: 100%; min-width: 100%; }
	.locations-page__grid { grid-template-columns: 1fr; gap: 20px; }
	.location-card__content { padding: 20px; }
}
