/* Public station profile: shared PlateScan tokens, contained card surfaces. */
.station-detail {padding-top: 1.25rem; padding-bottom: 3rem; color: var(--color-dark);}
.station-navigation {margin-bottom: .75rem;}
.station-back {display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; font-weight: 600;}
.station-header, .station-prices, .station-detail .fuel-map-sidebar, .station-information {padding: 1.25rem; border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-surface); box-shadow: 0 3px 12px color-mix(in srgb, var(--color-dark) 4%, transparent); min-width: 0;}
.station-header {display: flex; justify-content: space-between; align-items: center; gap: 1.25rem; margin-bottom: 1.25rem;}
.station-identity {display: flex; gap: 1rem; min-width: 0;}
.station-identity-text {min-width: 0;}
.station-identity-meta {display: flex; align-items: center; flex-wrap: wrap; gap: .65rem;}
.station-header h1 {font-size: clamp(1.65rem, 3vw, 2.25rem); font-weight: 800; letter-spacing: -.03em; margin: .4rem 0 .65rem; overflow-wrap: anywhere;}
.station-header .fuel-station-address {display: flex; align-items: flex-start; gap: .4rem; margin: 0; font-size: .95rem;}
.station-header .fuel-station-address .fuel-icon {flex-shrink: 0; color: var(--color-primary);}
.station-hero-icon, .station-section-icon, .station-price-icon {display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 10px; background: #edf4ff; color: var(--color-primary);}
.station-hero-icon {width: 48px; height: 48px;}
.station-hero-actions {display: flex; flex-direction: column; align-items: flex-end; gap: .8rem; flex-shrink: 0;}
.station-status {display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .65rem; border-radius: 999px; background: #edf4ff; color: var(--color-dark); font-size: .85rem; font-weight: 700;}
.station-action-links {display: flex; flex-wrap: wrap; gap: .5rem;}
.station-directions, .station-call {display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .65rem .9rem; border-radius: 9px; font-size: .9rem; font-weight: 650; text-decoration: none;}
.station-directions {background: var(--color-primary); color: #fff;}
.station-directions:hover {background: var(--color-dark); color: #fff;}
.station-call {border: 1px solid var(--color-border); background: var(--color-surface);}
.station-call:hover {background: #edf4ff;}
.station-detail a:focus-visible, .station-history summary:focus-visible {outline: 3px solid var(--color-primary); outline-offset: 3px; border-radius: 4px;}
.station-detail-layout, .station-information-layout {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.25rem; align-items: stretch;}
.station-information-layout {margin-top: 1.25rem;}
.station-prices h2, .station-information h2, .station-detail .fuel-map-heading h2 {display: flex; align-items: center; gap: .65rem; margin: 0 0 1rem; color: var(--color-dark); font-size: 1.2rem; font-weight: 750;}
.station-price-grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem;}
.station-price-card {min-width: 0; padding: 1rem; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface);}
.station-price-heading {display: flex; align-items: center; gap: .55rem; margin-bottom: .75rem;}
.station-price-card h3 {font-size: .95rem; line-height: 1.4; font-weight: 700; margin: 0; overflow-wrap: anywhere;}
.station-price-card .fuel-price {justify-content: flex-start; font-size: clamp(2rem, 3vw, 2.5rem); margin: 0 0 .5rem;}
.station-price-card .fuel-price > span {font-size: .85rem;}
.station-price-card .fuel-updated {justify-content: flex-start; font-size: .8rem;}
.station-detail .fuel-data-note {display: flex; gap: .4rem; padding: .75rem; border-radius: 8px; background: var(--color-background); margin: .85rem 0 0;}
.station-detail .fuel-data-note .fuel-icon {flex-shrink: 0; color: var(--color-primary);}
.station-detail .fuel-map-sidebar {position: static; display: flex; flex-direction: column;}
.station-detail #fuel-map {height: 320px; flex: 1 0 320px; border-radius: 10px;}
.station-location-summary {margin-top: .8rem;}
.station-location-summary p {display: flex; align-items: center; gap: .4rem; margin: 0; font-size: .9rem; color: var(--color-text-muted);}
.station-location-summary .fuel-icon {flex-shrink: 0; color: var(--color-primary);}
.station-information-list {margin: 0; font-size: .95rem;}
.station-information-list > div {display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: .5rem; align-items: baseline; padding: .5rem 0;}
.station-information-list dt {color: var(--color-text-muted); font-weight: 500;}
.station-information-list dd {margin: 0; overflow-wrap: anywhere;}
.station-phone {display: inline-flex; align-items: center; min-height: 44px; font-weight: 650; text-underline-offset: 3px;}
.station-open-status {display: flex; align-items: baseline; flex-wrap: wrap; gap: .35rem .5rem; font-size: .95rem; font-weight: 700; margin: 0 0 .65rem; color: var(--color-primary);}
.station-open-status span {font-weight: 400; color: var(--color-text-muted); font-size: .85rem;}
.station-hours > div {padding: .45rem .65rem; border-radius: 8px;}
.station-hours dd {text-align: right; font-variant-numeric: tabular-nums;}
.station-hours-today {background: #edf4ff;}
.station-hours-today dt {color: var(--color-dark); font-weight: 700;}
.station-today-label {display: inline-block; margin-left: .4rem; font-size: .75rem; color: var(--color-primary); font-weight: 600;}
.station-information > .fuel-updated {margin: .85rem 0 0; font-size: .85rem;}
.station-facilities {margin-top: 1rem;}
.station-facilities h3 {font-size: 1rem; margin: 0 0 .75rem; font-weight: 700;}
.station-amenities {display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0;}
.station-amenities li {display: inline-flex; align-items: center; gap: .4rem; max-width: 100%; padding: .45rem .65rem; background: #edf4ff; border-radius: 8px; font-size: .9rem; overflow-wrap: anywhere;}
.station-amenities .fuel-icon {flex-shrink: 0; width: 16px; height: 16px; color: var(--color-primary);}
.station-empty {color: var(--color-text-muted); margin: 0;}
.station-history {margin-top: 1.25rem;}
.station-history summary {display: flex; align-items: center; gap: .65rem; cursor: pointer; list-style: none; min-height: 48px;}
.station-history summary::-webkit-details-marker {display: none;}
.station-history-title {font-size: 1.2rem; font-weight: 750;}
.station-history-title > span {display: block; font-size: .85rem; font-weight: 400; color: var(--color-text-muted); margin-top: .25rem;}
.station-history-chevron {margin-left: auto; flex-shrink: 0; transition: transform 150ms ease;}
.station-history[open] .station-history-chevron {transform: rotate(180deg);}
.station-history-groups {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem;}
.station-history-group {min-width: 0; padding: 1rem; border: 1px solid var(--color-border); border-radius: 12px;}
.station-history h3 {display: flex; align-items: center; gap: .5rem; font-size: 1rem; margin: 0 0 .75rem; font-weight: 700;}
.station-history h3 .fuel-icon {color: var(--color-primary); flex-shrink: 0;}
.station-history ul {list-style: none; padding: 0; margin: 0;}
.station-history li {display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; padding: .55rem .5rem; border-radius: 6px; font-size: .9rem; font-variant-numeric: tabular-nums;}
.station-history li:nth-child(odd) {background: var(--color-background);}
.station-history time {display: flex; flex-wrap: wrap; gap: .25rem .65rem;}
.station-history-time {color: var(--color-text-muted);}
.station-history strong {white-space: nowrap; font-weight: 700;}
@media (max-width: 991px) {.station-header {align-items: flex-start; flex-direction: column;} .station-hero-actions {align-items: flex-start; flex-shrink: 1;} .station-hero-icon {display: none;} }
@media (max-width: 767px) {
    .station-detail-layout, .station-information-layout, .station-history-groups {grid-template-columns: minmax(0, 1fr);}
    .station-header, .station-prices, .station-detail .fuel-map-sidebar, .station-information {padding: 1rem;}
    .station-detail #fuel-map {height: 280px; flex-basis: 280px;}
    .station-history-title {font-size: 1.05rem;}
}
@media (max-width: 379px) {.station-price-grid {grid-template-columns: minmax(0, 1fr);} .station-hours > div {padding-left: .35rem; padding-right: .35rem;} .station-today-label {margin-left: .2rem;} }
/* Reference composition: prices and paired information alongside a tall map. */
.station-detail {max-width: 1480px;}
.station-header {padding: 1.25rem 1.5rem;}
.station-identity {align-items: center; flex: 1 1 auto;}
.station-hero-icon {width: 88px; height: 88px; background: transparent;}
.station-hero-icon img {max-width: 100%; object-fit: contain;}
.station-hero-icon > .fuel-icon {width: 48px; height: 48px;}
.station-identity-meta .eyebrow {display: none;}
.station-identity-meta .fuel-brand {padding: 0; background: transparent; color: var(--color-text-muted); font-size: .9rem; font-weight: 750; text-transform: uppercase;}
.station-header h1 {font-size: clamp(1.65rem, 2.5vw, 2.3rem); line-height: 1.15;}
.station-hero-status {display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-top: .55rem;}
.station-status-note {font-size: .8rem; color: var(--color-text-muted);}
.station-status-open {background: #dcf7e7; color: #087b39;}
.station-status .fuel-icon {width: 15px; height: 15px;}
.station-action-links {flex-wrap: nowrap; align-items: stretch;}
.station-call {order: -1; background: #f1f6ff; border-color: #d8e5ff;}
.station-directions, .station-call {padding: .8rem 1rem; gap: .75rem;}
.station-directions > .fuel-icon, .station-call > .fuel-icon {width: 28px; height: 28px;}
.station-action-links strong, .station-location-summary strong {display: block; font-size: .95rem;}
.station-action-links small, .station-location-summary small {display: flex; align-items: center; gap: .4rem; margin-top: .15rem; font-size: .8rem; font-weight: 400;}
.station-directions small .fuel-icon {width: 14px; height: 14px;}
.station-detail-layout {grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); align-items: start;}
.station-detail .fuel-map-sidebar {grid-column: 2; grid-row: 1 / span 2;}
.station-information-layout {grid-column: 1; grid-row: 2; margin-top: 0; gap: 1rem;}
.station-price-grid {grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem;}
.station-price-card {padding: 1rem; box-shadow: 0 2px 5px color-mix(in srgb, var(--color-dark) 4%, transparent);}
.station-price-icon {width: 30px; height: 30px; border-radius: 8px;}
.station-price-heading {gap: .45rem;}
.station-price-card h3 {font-size: .85rem;}
.station-price-card .fuel-price {font-size: clamp(1.8rem, 2.25vw, 2.2rem);}
.station-section-icon {width: 24px; height: 28px; background: transparent; border-radius: 0;}
.station-section-icon .fuel-icon {width: 24px; height: 24px;}
.station-prices h2, .station-information h2, .station-detail .fuel-map-heading h2 {font-size: 1.12rem; gap: .6rem;}
.station-detail #fuel-map {height: 380px; flex: 0 0 380px;}
.station-location-summary .station-directions {display: flex; justify-content: flex-start; margin-top: .7rem;}
.station-information {padding: 1rem 1.15rem;}
.station-hours {font-size: .85rem;}
.station-hours > div {padding: .3rem .5rem;}
.station-hours > div + div {border-top: 1px solid #edf1f7;}
.station-information .station-open-status {font-size: .85rem; margin: 0 0 .5rem;}
.station-information .station-open-status span {display: none;}
.station-facilities {margin-top: .7rem;}
.station-amenities li {font-size: .8rem; font-weight: 600; background: #e8f0ff; padding: .55rem .65rem;}
.station-history {padding: .8rem 1.25rem;}
.station-history-title > span {display: inline; margin-left: .5rem;}
.station-history-groups {margin-top: .75rem; gap: 1.5rem;}
.station-history-group {padding: 0 .5rem; border: 0; border-radius: 0;}
.station-history h3 {font-size: .95rem; margin-bottom: .35rem;}
.station-history li {padding: .45rem .5rem; border-top: 1px solid #edf1f7; border-radius: 0;}
.station-history li:nth-child(odd) {background: transparent;}
.station-history time {flex: 1; display: grid; grid-template-columns: minmax(90px, 1fr) minmax(65px, 1fr);}
@media (max-width: 1199px) {
    .station-header {align-items: flex-start; flex-direction: column;}
    .station-hero-actions {align-items: flex-start;}
    .station-hero-icon {display: flex;}
    .station-price-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
    .station-information-layout {grid-template-columns: minmax(0, 1fr);}
}
@media (max-width: 767px) {
    .station-detail-layout {grid-template-columns: minmax(0, 1fr);}
    .station-detail .fuel-map-sidebar {grid-column: 1; grid-row: auto;}
    .station-information-layout {grid-column: 1; grid-row: auto;}
    .station-header {padding: 1rem;}
    .station-hero-icon {width: 48px; height: 48px;}
    .station-identity {align-items: flex-start; gap: .65rem;}
    .station-action-links {flex-wrap: wrap; width: 100%;}
    .station-hero-actions {width: 100%;}
    .station-action-links > a {flex: 1 1 auto;}
    .station-detail #fuel-map {height: 300px; flex-basis: 300px;}
    .station-history-title > span {display: block; margin: .2rem 0 0;}
}
@media (max-width: 379px) {.station-price-grid {grid-template-columns: minmax(0, 1fr);} .station-history li {font-size: .8rem;} }

/* Compact facilities panel and recognisable service icons. */
.station-facilities-card {align-self: start; min-height: 190px; background: linear-gradient(135deg, #fff, #f7faff); border-radius: 12px;}
.station-facilities-card h2 {margin-bottom: .65rem; font-size: 1rem; gap: .45rem;}
.station-facilities-card .station-section-icon, .station-facilities-card .station-section-icon .fuel-icon {width: 20px; height: 20px;}
.station-facilities-card .station-facilities {margin-top: .5rem;}
.station-facilities-card .station-amenities {gap: .4rem .5rem;}
.station-facilities-card .station-amenities li {padding: .35rem .6rem; font-size: .75rem; line-height: 1.4; border-radius: 8px; color: #264573; background: #e4edff;}

.station-price-trend {display: flex; align-items: flex-end; justify-content: space-between; gap: .5rem; margin-top: .65rem; color: #64748b;}
.station-price-trend--up {color: #ef4056;}
.station-price-trend--down {color: #14a873;}
.station-price-change {display: inline-flex; align-items: center; gap: .25rem; border-radius: 7px; padding: .2rem .45rem; font-size: .75rem; font-weight: 700; background: #eef2f6; white-space: nowrap;}
.station-price-trend--up .station-price-change {background: #ffe7eb;}
.station-price-trend--down .station-price-change {background: #dff8eb;}
.station-price-trend small {display: block; font-size: .65rem; margin: .15rem .4rem 0;}
.station-price-sparkline {width: 45%; max-width: 96px; height: 28px; overflow: visible;}
.station-price-sparkline polygon {fill: currentColor; opacity: .15;}
.station-price-sparkline polyline {fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linejoin: round; stroke-linecap: round;}
