/* Isolated price browser: no changes to prices inside service pages. */
.prices-page { --price-green:#284735; --price-ink:#23342a; --price-muted:#566558; --price-line:#dce2d8; --price-paper:#fff; --price-header-height:77px; --price-toolbar-height:96px; max-width:1416px; margin:0 auto; padding:32px 48px 64px; color:var(--price-ink); font:400 16px/1.6 'Manrope',sans-serif; }
.prices-page *, .prices-page *::before, .prices-page *::after { box-sizing:border-box; }
.prices-page [hidden] { display:none !important; }
.prices-page :where(h1,h2,p) { margin:0; }
.prices-page :where(a,button,input,select):focus-visible { outline:2px solid var(--price-green); outline-offset:4px; }
.prices-page a { color:inherit; text-decoration:none; }
.prices-breadcrumbs { display:flex; gap:12px; margin-bottom:36px; color:var(--price-muted); font-size:12px; }
.prices-breadcrumbs a:hover { text-decoration:underline; text-underline-offset:4px; }
.prices-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; padding:0 0 36px; }
.prices-eyebrow { display:block; margin-bottom:12px; font-size:12px; color:var(--price-muted); }
.prices-heading h1 { font-size:clamp(36px,4.4vw,60px); line-height:1.12; font-weight:400; letter-spacing:-.045em; }
.prices-heading h1 span { color:var(--price-green); }
.prices-heading p { max-width:375px; padding-bottom:3px; color:var(--price-muted); font-size:14px; line-height:1.7; }
.prices-toolbar { position:sticky; top:var(--price-header-height); z-index:4; display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,310px) 112px; align-items:center; gap:16px; padding:16px 0; background:var(--price-paper); border-bottom:0; }
.prices-toolbar { isolation:isolate; background:transparent; }
.prices-toolbar::before { content:''; position:absolute; inset:0; z-index:-1; background:var(--price-paper); box-shadow:0 0 0 100vmax var(--price-paper); clip-path:inset(0 -100vmax); pointer-events:none; }
.prices-search { position:relative; display:flex; align-items:center; min-width:0; border-radius:12px; background:#fff; }
.prices-search input { display:block; width:100%; min-width:0; height:58px; padding:0 52px; border:1px solid transparent; border-radius:12px; background:transparent; color:var(--price-ink); font:inherit; font-size:15px; outline-offset:0 !important; -webkit-appearance:none; }
.prices-search input::placeholder { color:#69756a; opacity:1; }
.prices-search input::-webkit-search-cancel-button { -webkit-appearance:none; }
.prices-search input:focus-visible { outline:2px solid var(--price-green); }
.prices-search__icon { position:absolute; left:21px; top:19px; width:17px; height:17px; border:1.6px solid var(--price-green); border-radius:50%; pointer-events:none; }
.prices-search__icon::after { content:''; position:absolute; width:8px; height:1.6px; right:-6px; bottom:-3px; background:var(--price-green); transform:rotate(45deg); border-radius:2px; }
.prices-clear { position:absolute; right:4px; top:7px; width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:9px; color:var(--price-muted); background:transparent; font:400 28px/1 'Manrope',sans-serif; cursor:pointer; }
.prices-clear:hover { background:#f0f3ec; color:var(--price-green); }
.prices-direction { min-width:0; }
.prices-direction select { display:block; width:100%; height:58px; padding:0 32px 0 18px; border:0; border-radius:12px; background-color:#e9eee4; color:var(--price-green); font:500 13px/1.4 'Manrope',sans-serif; cursor:pointer; text-overflow:ellipsis; }
.prices-status { color:var(--price-muted); font-size:12px; text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.prices-results { scroll-margin-top:calc(var(--price-header-height) + var(--price-toolbar-height) + 12px); }
.prices-group { margin-top:42px; }
.prices-group__heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; padding:0; }
.prices-group__heading > div { display:flex; align-items:baseline; gap:18px; }
.prices-group__number { color:#687965; font-size:12px; flex:none; }
.prices-group h2 { color:var(--price-green); font-size:clamp(22px,2.2vw,30px); line-height:1.3; font-weight:500; letter-spacing:-.035em; }
.prices-group__link { flex:none; padding-block:10px; color:var(--price-muted) !important; font-size:12px; text-decoration:underline !important; text-underline-offset:5px; text-decoration-color:#acb7a6 !important; }
.prices-group__link:hover { color:var(--price-green) !important; text-decoration-color:var(--price-green) !important; }
.prices-columns { display:flex; justify-content:space-between; gap:20px; padding:0 20px 12px; border-bottom:1px solid var(--price-line); color:var(--price-muted); font-size:11px; }
.price-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:24px; padding:21px 20px; border-bottom:1px solid var(--price-line); scroll-margin-top:calc(var(--price-header-height) + var(--price-toolbar-height) + 12px); transition:background-color .18s ease; }
.price-entry:hover, .price-entry:focus-visible { background:#ecf0e6; color:var(--price-green); }
.price-entry:target { background:#e7efdb; }
.price-entry__description { min-width:0; }
.price-entry__name { display:block; max-width:850px; font-size:15px; line-height:1.55; font-weight:500; overflow-wrap:normal; }
.price-entry__unit { display:block; margin-top:5px; color:var(--price-muted); font-size:12px; line-height:1.5; }
.price-entry__amount { padding-top:1px; color:var(--price-green); font-size:16px; line-height:1.5; font-weight:600; font-variant-numeric:tabular-nums; white-space:nowrap; }
.price-entry__amount--free { padding:3px 10px; border-radius:6px; background:#e9efd9; font-size:13px; }
.prices-empty { padding:68px 20px; text-align:center; }
.prices-empty h2 { margin-bottom:12px; color:var(--price-green); font-size:26px; font-weight:500; }
.prices-empty p { color:var(--price-muted); font-size:14px; }
.prices-empty button { min-height:48px; padding:12px 22px; margin-top:24px; border:0; border-radius:10px; background:var(--price-green); color:#fff; font:500 14px/1.5 'Manrope',sans-serif; cursor:pointer; }
.prices-visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1000px) {
    .prices-page { padding-inline:28px; }
    .prices-toolbar { grid-template-columns:minmax(0,1fr) minmax(180px,250px); gap:10px 16px; }
    .prices-status { grid-column:1 / -1; font-size:11px; }
}
@media(max-width:600px) {
    .prices-page { --price-header-height:67px; --price-toolbar-height:124px; padding:22px 20px 40px; }
    .prices-breadcrumbs { margin-bottom:25px; font-size:11px; }
    .prices-heading { display:block; padding-bottom:24px; }
    .prices-eyebrow { margin-bottom:10px; font-size:11px; }
    .prices-heading h1 { font-size:38px; }
    .prices-heading p { margin-top:16px; max-width:365px; font-size:13px; line-height:1.65; }
    .prices-toolbar { grid-template-columns:minmax(0,1fr) 88px; gap:8px 10px; margin-inline:-20px; padding:12px 20px 10px; }
    .prices-search { grid-column:1 / -1; border-radius:9px; }
    .prices-search input { height:50px; padding-left:44px; padding-right:46px; font-size:16px; border-radius:9px; }
    .prices-search input::placeholder { font-size:13px; }
    .prices-search__icon { left:17px; top:16px; width:16px; height:16px; }
    .prices-clear { top:3px; right:1px; }
    .prices-direction select { height:44px; padding-left:12px; font-size:12px; border-radius:8px; }
    .prices-status { grid-column:2; font-size:10px; }
    .prices-group { margin-top:28px; }
    .prices-group__heading { gap:12px; margin-bottom:17px; align-items:flex-start; }
    .prices-group__heading > div { gap:9px; }
    .prices-group__number { padding-top:4px; font-size:10px; }
    .prices-group h2 { font-size:22px; line-height:1.28; }
    .prices-group__link { max-width:67px; padding-block:3px; font-size:10px; line-height:1.6; text-underline-offset:3px; }
    .prices-columns { padding:0 0 10px; font-size:10px; }
    .price-entry { gap:14px; padding:18px 0; }
    .price-entry__name { font-size:13px; line-height:1.55; }
    .price-entry__unit { font-size:11px; margin-top:4px; }
    .price-entry__amount { font-size:13px; }
    .price-entry__amount--free { padding:3px 7px; font-size:10px; }
    .prices-empty { padding:48px 0; }
    .prices-empty h2 { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) { .price-entry { transition:none; } }
