/* Shared public-site finish. Catalog values and checkout behavior are unchanged. */
.catalog-polish { --catalog-anchor-offset: 108px; }
.catalog-polish main [id] { scroll-margin-top: var(--catalog-anchor-offset); }
.catalog-polish :is(.section-head,.live-catalogue-head) { gap: 20px; }
.catalog-polish :is(.section-head,.live-catalogue-head) h2 { line-height: 1.2; }
.catalog-polish .category-directory { padding-block: 52px; }
.catalog-polish .category-directory .section-head { max-width: none; margin-inline: 0; text-align: left; }
.catalog-polish .category-directory .section-head :is(h2,p) { text-align: left; margin-inline: 0; }
.catalog-polish .catalogue-directory-tools { padding: 18px 0; border-top: 1px solid var(--ed-border,#dce7ec); margin-bottom: 14px; }
.catalog-polish .category-tiles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.catalog-polish .category-tile { display: grid; grid-template-columns: minmax(0,1fr) 46px; align-items: stretch; border: 1px solid #d8e3ea; border-radius: 8px; background: #fff; box-shadow: none; overflow: hidden; transition: border-color .18s,box-shadow .18s,transform .18s; }
.catalog-polish .category-select { min-width: 0; min-height: 94px; padding: 16px; gap: 14px; display: flex; align-items: center; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.catalog-polish .category-select > span:last-child { min-width: 0; }
.catalog-polish .category-select strong { color: #203547; font-size: 16px; line-height: 1.35; overflow-wrap: anywhere; }
.catalog-polish .category-select small { display: block; font-size: 12px; color: #526879; margin-top: 5px; }
.catalog-polish .category-select .app-logo { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 8px; background: #f2f6fb; display: grid; place-items: center; }
.catalog-polish .category-select .app-logo img { width: 30px; height: 30px; object-fit: contain; }
.catalog-polish .category-select .app-logo.is-compute { background: #e9f1ff; }
.catalog-polish .category-select .is-compute .logo-fallback { display: none; }
.catalog-polish .category-page-link { display: grid; place-items: center; padding: 0; font-size: 0; border: 0; border-left: 1px solid #edf1f6; background: transparent; color: #345979; }
.catalog-polish .category-page-link span { font-size: 21px; }
.catalog-polish .category-tile:hover { border-color: #729ec0; box-shadow: 0 5px 16px #20415a0d; transform: translateY(-2px); }
.catalog-polish .category-tile:focus-within { border-color: #2768cb; }
.catalog-polish .category-page-link:hover { background: #edf4ff; color: #174d9d; }
.catalog-polish .service-card { display: flex; flex-direction: column; border-radius: 8px; box-shadow: none; }
.catalog-polish .service-card .service-art { height: 180px; min-height: 180px; border-bottom: 1px solid #dce7ec; }
.catalog-polish .service-card .service-art .ed-scene { height: 100%; min-height: 0; }
.catalog-polish .service-card .service-art .ed-scene-image { max-height: 174px; object-fit: contain; }
.catalog-polish .service-card .service-card-content { flex: 1; display: flex; flex-direction: column; padding: 24px; }
.catalog-polish .service-card-content h3 { font-size: 22px; line-height: 1.3; }
.catalog-polish .service-card-content p { font-size: 14px; line-height: 1.7; margin-bottom: 16px; }
.catalog-polish .service-card-content .mini-tags { margin-top: auto; padding-top: 6px; }
.catalog-polish .service-card-foot { margin-top: 20px; padding-top: 16px; }
.catalog-polish .live-catalogue-head { align-items: end; padding-bottom: 20px; border-bottom: 1px solid #dce7ec; }
.catalog-polish .live-count-pill { background: #e8f4ef; color: #185e4e; border: 1px solid #c7e4d7; }
.catalog-polish .live-package-tools.refined-plan-tools { padding: 16px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; align-items: end; }
.catalog-polish .resource-filter { background: #eaf0f6; border: 1px solid #d8e3ed; padding: 4px; border-radius: 7px; gap: 2px; }
.catalog-polish .resource-filter button { min-height: 36px; font-size: 12px; border-radius: 4px; color: #34536a; }
.catalog-polish .resource-filter button[aria-pressed="true"] { background: #fff; color: #164a88; box-shadow: 0 1px 4px #24425b1a; }
.catalog-polish .live-plan-card { padding: 24px; border-radius: 8px; border: 1px solid #d6e2ec; border-top: 3px solid #3174d5; box-shadow: 0 4px 16px #253c5010; display: flex; flex-direction: column; min-width: 0; transition: border-color .2s,box-shadow .2s; }
.catalog-polish .live-plan-card:nth-child(3n+2) { border-top-color: #07816f; }
.catalog-polish .live-plan-card:nth-child(3n+3) { border-top-color: #bd2458; }
.catalog-polish .live-plan-card:hover { box-shadow: 0 8px 24px #253c5018; }
.catalog-polish .live-plan-card h3 { font-size: 21px; line-height: 1.3; min-height: 2.6em; margin: 8px 0 0; overflow-wrap: anywhere; }
.catalog-polish .plan-card-top { min-height: 30px; }
.catalog-polish .live-plan-category { color: #4d6579; font-size: 12px; }
.catalog-polish .plan-price-display { min-height: 158px; margin: 0; }
.catalog-polish .plan-price-final { margin: 12px 0 8px; }
.catalog-polish .plan-price-final strong { font-size: 36px; line-height: 1.2; }
.catalog-polish .plan-double-explanation { font-size: 12px; line-height: 1.6; color: #526879; }
.catalog-polish .live-plan-specs { border-block: 1px solid #dce7ec; padding: 6px 0; margin: 12px 0 22px; flex: 1; }
.catalog-polish .live-plan-specs li { min-height: 42px; border: 0; padding: 9px 0; gap: 10px; }
.catalog-polish .live-plan-specs li.ed-spec { display: flex; align-items: center; padding-left: 0; }
.catalog-polish .live-plan-specs li + li { border-top: 1px solid #edf2f6; }
.catalog-polish .live-plan-specs .spec-label { font-size: 13px; color: #526879; }
.catalog-polish .live-plan-specs .spec-value { margin-left: auto; text-align: right; color: #1f3547; font-size: 14px; font-weight: 700; overflow-wrap: anywhere; min-width: 0; }
.catalog-polish .live-plan-specs .ed-spec-icon { flex: 0 0 17px; opacity: .75; position: static; transform: none; margin: 0; }
.catalog-polish .live-buy-button { min-height: 46px; }
.catalog-polish .live-order-note { margin: 10px 0 0; font-size: 11px; line-height: 1.5; color: #526879; text-align: center; }
.catalog-polish .faq-grid { gap: 48px; align-items: start; }
.catalog-polish .faq-items { display: grid; gap: 10px; counter-reset: question; }
.catalog-polish .faq-items details { border: 1px solid #dce7ec; border-radius: 6px; background: #fff; box-shadow: none; overflow: hidden; }
.catalog-polish .faq-items summary { min-height: 62px; font-size: 15px; line-height: 1.5; color: #253d50; padding: 18px 46px 18px 20px; }
.catalog-polish .faq-items details[open] { border-color: #85bcae; }
.catalog-polish .faq-items details[open] summary { background: #eff8f5; color: #18594b; }
.catalog-polish .faq-answer { padding: 18px 20px 22px; font-size: 14px; line-height: 1.8; color: #526879; }
.catalog-polish .contact-card { display: flex; flex-direction: column; gap: 12px; border-radius: 8px; border-top: 3px solid #2c71cc; box-shadow: none; }
.catalog-polish .contact-card:nth-child(2) { border-top-color: #07816f; }
.catalog-polish .contact-card:nth-child(3) { border-top-color: #bd2458; }
.catalog-polish .contact-card h3 { font-size: 21px; }
.catalog-polish .contact-card .btn { margin-top: auto; align-self: start; }
.catalog-polish .site-footer { background: #f3f7fa; border-top: 1px solid #d9e4ec; padding-top: 44px; }
.catalog-polish .footer-grid { gap: 40px; padding-bottom: 30px; }
.catalog-polish .footer-brand p { max-width: 32ch; font-size: 14px; line-height: 1.8; color: #4f6576; }
.catalog-polish .footer-col h4 { color: #263d50; margin-bottom: 18px; font-size: 14px; }
.catalog-polish .footer-col a { color: #455f74; font-size: 13px; line-height: 1.6; }
.catalog-polish .footer-col li + li { margin-top: 10px; }
.catalog-polish .footer-col a:hover { color: #a6184c; text-decoration: underline; text-underline-offset: 4px; }
.catalog-polish .footer-app-links { padding-block: 22px; border-block: 1px solid #d9e4ec; gap: 14px; }
.catalog-polish .footer-app-links a { color: #345c78; font-size: 12px; }
.catalog-polish .footer-bottom { padding-block: 22px; color: #526879; }
.catalog-polish .footer-subnote { font-size: 11px; line-height: 1.7; color: #526879; padding-bottom: 24px; }
html[data-theme="dark"] .catalog-polish :is(.category-tile,.live-plan-card,.faq-items details) { background: #1d3035; border-color: #486069; }
html[data-theme="dark"] .catalog-polish :is(.category-select strong,.spec-value,.faq-items summary,.footer-col h4) { color: #edf5f5; }
html[data-theme="dark"] .catalog-polish :is(.category-select small,.live-plan-category,.plan-double-explanation,.spec-label,.live-order-note,.faq-answer,.footer-brand p,.footer-col a,.footer-bottom,.footer-subnote) { color: #bbced5; }
html[data-theme="dark"] .catalog-polish .category-page-link { color: #bad8ee; border-color: #486069; }
html[data-theme="dark"] .catalog-polish .category-page-link:hover { background: #294852; }
html[data-theme="dark"] .catalog-polish .category-select .app-logo { background: #f2f6fb; }
html[data-theme="dark"] .catalog-polish :is(.catalogue-directory-tools,.live-catalogue-head,.live-plan-specs,.live-plan-specs li+li,.footer-app-links) { border-color: #486069; }
html[data-theme="dark"] .catalog-polish .resource-filter { background: #16272d; border-color: #486069; }
html[data-theme="dark"] .catalog-polish .resource-filter button { color: #bdd1dc; }
html[data-theme="dark"] .catalog-polish .resource-filter button[aria-pressed="true"] { background: #365465; color: #fff; }
html[data-theme="dark"] .catalog-polish .faq-items details[open] summary { background: #25463e; color: #d4f2e7; }
html[data-theme="dark"] .catalog-polish .site-footer { background: #15272d; border-color: #486069; }
html[data-theme="dark"] .catalog-polish .footer-app-links a { color: #b4d8ef; }
@media(max-width:1050px) {
 .catalog-polish .category-tiles { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .catalog-polish .live-plan-card { padding: 20px; }
 .catalog-polish .footer-grid { gap: 28px; }
}
@media(max-width:680px) {
 .catalog-polish .category-directory { padding-block: 36px; }
 .catalog-polish .category-tiles { grid-template-columns: minmax(0,1fr); gap: 9px; }
 .catalog-polish .category-select { min-height: 80px; padding: 13px; }
 .catalog-polish .category-select strong { font-size: 15px; }
 .catalog-polish .service-card .service-art { height: 166px; min-height: 166px; }
 .catalog-polish .service-card .service-card-content { padding: 20px; }
 .catalog-polish .live-catalogue-head { align-items: start; }
 .catalog-polish .faq-grid { gap: 24px; }
 .catalog-polish .footer-grid { gap: 28px 20px; }
 .catalog-polish .footer-brand { grid-column: 1 / -1; }
}
@media(max-width:560px) {
 .catalog-polish .live-plan-card h3 { min-height: 0; }
 .catalog-polish .plan-price-display { min-height: 0; }
 .catalog-polish .resource-filter { display: flex; width: 100%; }
 .catalog-polish .resource-filter button { flex: 1; padding-inline: 7px; white-space: normal; }
}
@media(prefers-reduced-motion:reduce) { .catalog-polish .category-tile { transition: none; transform: none; } }
html[data-motion="paused"] .catalog-polish .category-tile { transition: none; transform: none; }
