/* Shared customer-facing design. Never loaded by the staff portal or login. */
.public-modern .shop-reading-help { margin:20px 0; border-top:1px solid #e4e4e7; color:#585860; font-size:.95rem; line-height:1.65; }
.public-modern .shop-reading-help summary { padding:14px 0; min-height:48px; color:#18181b; font-weight:600; cursor:pointer; overflow-wrap:anywhere; }
.public-modern .shop-reading-help summary:focus-visible { outline:2px solid #18181b; outline-offset:3px; border-radius:4px; }
.public-modern .shop-reading-help p { margin:0 0 12px; font-size:inherit; line-height:inherit; }
.public-modern .shop-reading-help strong { color:#18181b; }
/* Homepage hierarchy: repair and shopping first, then trust and practical details. */
.public-modern .home-refresh .web-hero { grid-template-columns:1.05fr 1fr; gap:60px; padding-top:48px; padding-bottom:40px; }
.public-modern .home-refresh .web-hero h1 { font-size:clamp(2.35rem,4.5vw,3.9rem); line-height:1.08; letter-spacing:-.05em; }
.public-modern .home-refresh .web-hero-copy>p { font-size:1.05rem; line-height:1.75; max-width:490px; }
.public-modern .home-refresh .web-actions { gap:12px; margin:26px 0 20px; }
.public-modern .home-track { display:flex; align-items:center; gap:12px; min-height:48px; color:#585860; font-size:.85rem; text-decoration:none; }
.public-modern .home-track i { font-size:1.1rem; }
.public-modern .home-track b { display:block; color:#18181b; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.public-modern .home-hero-photo { margin:0; overflow:hidden; border-radius:26px; background:#f2f2f4; }
.public-modern .home-hero-photo img { display:block; width:100%; height:320px; object-fit:cover; filter:grayscale(1); }
.public-modern .home-hero-photo figcaption { padding:24px 28px; }
.public-modern .home-hero-photo figcaption span { display:block; color:#585860; letter-spacing:.09em; font-size:.68rem; }
.public-modern .home-hero-photo figcaption b { display:block; margin:6px 0; font-size:1.45rem; letter-spacing:-.035em; }
.public-modern .home-hero-photo figcaption p { color:#585860; font-size:.9rem; margin:0; }
.public-modern .home-promises { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; list-style:none; padding:28px 0 0; margin:0; border-top:1px solid #e4e4e7; }
.public-modern .home-promises li { display:flex; align-items:flex-start; gap:14px; min-width:0; }
.public-modern .home-promises li>i { display:grid; place-items:center; flex:0 0 40px; height:40px; border-radius:12px; background:#f2f2f4; color:#18181b; font-size:1.2rem; }
.public-modern .home-promises h2 { margin:0 0 7px; color:#18181b; font-size:1.05rem; line-height:1.4; letter-spacing:-.015em; }
.public-modern .home-promises p { margin:0; color:#585860; font-size:.95rem; line-height:1.6; }
.public-modern .home-visit-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; border-top:1px solid #e4e4e7; border-bottom:1px solid #e4e4e7; padding:24px 0; margin-bottom:24px; }
.public-modern .home-visit-strip>a,.public-modern .home-visit-strip>div { display:flex; gap:12px; align-items:center; color:#18181b; text-decoration:none; min-height:44px; }
.public-modern .home-visit-strip i { font-size:1.25rem; }
.public-modern .home-visit-strip b { display:block; font-size:.87rem; font-weight:600; }
.public-modern .home-visit-strip small { display:block; font-size:.8rem; color:#585860; margin-top:3px; }
.public-modern .home-refresh .web-section { padding-top:56px; padding-bottom:56px; }
.public-modern .home-refresh #iphones { background:#fff; }
.public-modern .home-refresh .web-buy-sell { padding:40px; border-radius:24px; gap:48px; background:#f6f6f8; }
.public-modern .home-refresh .web-service { padding:24px; }
.public-modern .home-refresh .web-service>span { font-size:.85rem; }
.public-modern .home-refresh #process { border-top:1px solid #e4e4e7; }
.public-modern:has(.home-refresh) .messenger-float { display:none; }
/* Explicit dropdown colors replace the previous dark-theme menu. */
.public-modern .navbar .dropdown-menu { min-width:240px; padding:8px; border:1px solid #e4e4e7; border-radius:16px; background:#fff; color:#18181b; box-shadow:0 12px 36px #18181b14; }
.public-modern .navbar .dropdown-item { display:flex; align-items:center; min-height:44px; padding:10px 12px; border-radius:10px; color:#3f3f46!important; background:#fff!important; font-size:.9rem; font-weight:500; white-space:normal; }
.public-modern .navbar .dropdown-item:is(:hover,:focus-visible,:active) { color:#18181b!important; background:#f1f1f3!important; }
.public-modern .mobile-action-bar a { text-align:center; text-transform:none; letter-spacing:0; line-height:1.3; }
.public-modern .mobile-action-bar a span { display:block; width:100%; }
.public-modern:has(.site-offcanvas.show,.site-offcanvas.showing) .mobile-action-bar { visibility:hidden; pointer-events:none; }
@media(max-width:1199px) {
 .public-modern .site-offcanvas { width:min(90vw,390px)!important; }
 .public-modern .site-offcanvas .navbar-nav { align-items:stretch!important; width:100%; padding:0; }
 .public-modern .site-offcanvas .offcanvas-body { padding:20px; }
 .public-modern .site-offcanvas .nav-link { width:100%; text-align:left; min-height:48px; padding:12px!important; }
 .public-modern .site-offcanvas .dropdown-menu { position:static!important; transform:none!important; min-width:0; width:100%; padding:6px!important; margin:6px 0 12px!important; border:0!important; background:#f6f6f8; box-shadow:none; }
 .public-modern .site-offcanvas .nav-cta { width:100%; margin-top:12px; }
}
@media(max-width:991px) {
 .public-modern .home-refresh .web-hero { grid-template-columns:1fr; gap:28px; }
 .public-modern .home-refresh .web-hero-copy { order:0; }
 .public-modern .home-promises { order:1; grid-template-columns:1fr; gap:22px; padding-top:24px; }
 .public-modern .home-hero-photo { order:2; }
 .public-modern .home-desktop-break { display:none; }
 .public-modern .home-hero-photo { display:grid; grid-template-columns:1fr 1fr; align-items:center; }
 .public-modern .home-hero-photo img { height:220px; }
 .public-modern .site-offcanvas .dropdown-menu { min-width:0; padding:6px!important; margin:6px 0 12px!important; border:0!important; background:#f6f6f8; box-shadow:none; }
 .public-modern .site-offcanvas .dropdown-item { background:transparent!important; }
 .public-modern .home-visit-strip { gap:16px; }
}
@media(max-width:767px) {
 .public-modern .home-refresh .web-hero { padding-top:32px; padding-bottom:28px; }
 .public-modern .home-refresh .web-hero h1 { font-size:2.45rem; margin-bottom:18px; }
 .public-modern .home-refresh .web-hero-copy>p { font-size:1rem; }
 .public-modern .home-refresh .web-actions .btn { flex:1 1 100%; min-height:50px; }
 .public-modern .home-hero-photo { grid-template-columns:1fr; }
 .public-modern .home-hero-photo img { height:180px; }
 .public-modern .home-hero-photo figcaption { padding:20px; }
 .public-modern .home-hero-photo figcaption b { font-size:1.25rem; }
 .public-modern .home-visit-strip { grid-template-columns:1fr; padding:20px 0; gap:20px; margin-bottom:12px; }
 .public-modern .home-refresh .web-section { padding-top:36px; padding-bottom:36px; }
 .public-modern .home-refresh .web-service-grid { grid-template-columns:1fr; }
 .public-modern .home-refresh .web-service { display:grid; grid-template-columns:28px minmax(0,1fr); gap:4px 14px; padding:20px; }
 .public-modern .home-refresh .web-service>i { grid-row:1/4; margin:0; font-size:1.3rem; }
 .public-modern .home-refresh .web-service h3 { font-size:1.05rem; margin:0; }
 .public-modern .home-refresh .web-service p { margin:0; font-size:.9rem; }
 .public-modern .home-refresh .web-service>span { grid-column:2; padding-top:8px; }
 .public-modern .home-refresh .web-buy-sell { padding:24px; border-radius:20px; gap:24px; }
 .public-modern .home-refresh .web-sell { padding:24px; }
}
/* Explicit pairs override the legacy white navigation text, including hover. */
.public-modern .navbar :is(.navbar-brand,.offcanvas-title) { color:#18181b!important; }
.public-modern .navbar-brand .brand-copy { color:#18181b!important; }
.public-modern .navbar .nav-link { color:#3f3f46!important; background:transparent!important; text-decoration:none!important; }
.public-modern .navbar .nav-link:is(:hover,:focus-visible,.active) { color:#18181b!important; background:#f1f1f3!important; }
.public-modern .navbar .nav-cta:is(a,:hover,:focus-visible,.active) { color:#fff!important; background:#18181b!important; border-color:#18181b!important; }
.public-modern .navbar-toggler-icon { filter:none!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%2318181b' stroke-linecap='round' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")!important; }
.public-modern .site-offcanvas .btn-close { filter:none!important; opacity:1; }
.public-modern .mobile-action-bar a { color:#3f3f46!important; background:#fff!important; }
.public-modern .mobile-action-bar a:is(:hover,:focus-visible,.active) { color:#18181b!important; background:#f1f1f3!important; }
.public-modern .mobile-action-bar a i { color:inherit!important; }
.public-modern { --web-ink:#18181b; --web-muted:#585860; --web-line:#e4e4e7; --web-soft:#f6f6f8; color:var(--web-ink); background:#fff; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
.public-modern *, .public-modern *:before, .public-modern *:after { box-sizing:border-box; }
.public-modern [hidden] { display:none!important; }
.public-modern :is(h1,h2,h3,h4,p) { overflow-wrap:anywhere; }
.public-modern :is(h1,h2,h3,h4) { text-transform:none; letter-spacing:-.035em; font-weight:700; }
.public-modern :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #63636c!important; outline-offset:4px; }
.public-modern :is(button,.btn,.shop-btn,input,select,textarea) { font-family:inherit; }
.public-modern :is(.btn,.block-btn,.shop-btn) { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 20px; border-radius:12px!important; font-weight:600; font-size:.94rem; line-height:1.35; letter-spacing:0; text-transform:none; box-shadow:none!important; white-space:normal; }
.public-modern :is(.btn-dark,.shop-btn) { background:#18181b; color:#fff; border:1px solid #18181b; }
.public-modern :is(.btn-outline-dark,.shop-btn-outline) { background:#fff; color:#18181b; border:1px solid #d4d4d8; }
.public-modern :is(.btn-light,.shop-btn-white) { background:#fff; color:#18181b; border:1px solid #fff; }
.public-modern :is(.btn,.shop-btn):hover { transform:none; filter:brightness(.94); }
.public-modern .container { max-width:1200px; }
.public-modern section[id],.public-modern details[id] { scroll-margin-top:110px; }
.public-modern .schedule-bar { position:static; min-height:32px; gap:10px; padding:6px 16px; background:#18181b; color:#fff; font-size:.7rem; font-weight:500; letter-spacing:0; }
.public-modern .navbar { top:0; padding:12px 0; border-bottom:1px solid var(--web-line); background:#fff; box-shadow:none; }
.public-modern .navbar-brand { gap:10px; }
.public-modern .brand-logo { width:34px; height:42px; object-fit:contain; filter:none; mix-blend-mode:normal; flex-shrink:0; }
.public-modern .navbar-brand .brand-copy { display:flex; flex-direction:column; min-width:0; line-height:1.25; }
.public-modern .brand-copy b { display:block; color:#18181b; font-size:1.05rem; letter-spacing:-.02em; }
.public-modern .brand-copy small { font-size:.58rem; letter-spacing:.08em; color:var(--web-muted); }
.public-modern .navbar .nav-link { padding:10px 12px; font-size:.85rem; font-weight:500; color:#52525b; border:0; border-radius:10px; text-transform:none; }
.public-modern .navbar .nav-link.active { background:#f1f1f3; color:#18181b; }
.public-modern .navbar .nav-cta { font-size:.83rem; min-height:44px; padding:10px 14px; }
.public-modern .navbar-toggler { width:44px; height:44px; border:1px solid var(--web-line); border-radius:12px; color:#18181b; padding:8px; }
.public-modern .site-offcanvas { background:#fff; color:#18181b; }
.public-modern .site-offcanvas .btn-close { filter:none; }
.public-modern .offcanvas-header { border-bottom:1px solid var(--web-line); }
.public-modern .web-eyebrow { display:block; color:#666670; font-size:.73rem; font-weight:650; letter-spacing:.09em; margin-bottom:12px; }
.public-modern .web-hero { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:64px; padding-top:72px; padding-bottom:72px; }
.public-modern .web-hero h1 { font-size:clamp(2.6rem,4.5vw,4.25rem); line-height:1.08; margin:0 0 24px; }
.public-modern .web-hero-copy>p { color:var(--web-muted); font-size:1.1rem; max-width:530px; line-height:1.75; }
.public-modern .web-actions { display:flex; gap:12px; flex-wrap:wrap; margin:28px 0 22px; }
.public-modern .web-location { display:inline-flex; align-items:center; gap:8px; color:#52525b; text-decoration:none; font-size:.9rem; min-height:44px; }
.public-modern .web-start { padding:30px; border-radius:24px; background:var(--web-soft); }
.public-modern .web-start h2 { font-size:1.5rem; margin:0 0 18px; }
.public-modern .web-start>a { display:grid; grid-template-columns:42px minmax(0,1fr) 18px; align-items:center; gap:14px; padding:20px 0; text-decoration:none; color:#18181b; border-bottom:1px solid var(--web-line); }
.public-modern .web-start>a>i:first-child { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:#fff; font-size:1.15rem; }
.public-modern .web-start>a:hover b { text-decoration:underline; text-underline-offset:4px; }
.public-modern .web-start b,.public-modern .web-start small { display:block; }
.public-modern .web-start b { font-size:1rem; font-weight:650; }
.public-modern .web-start small { color:var(--web-muted); font-size:.85rem; line-height:1.5; margin-top:3px; }
.public-modern .web-start>p { font-size:.8rem; color:var(--web-muted); margin:20px 0 0; }
.public-modern .web-start>p span { display:block; margin-left:18px; }
.public-modern .web-section { padding-top:64px; padding-bottom:64px; }
.public-modern .web-soft { background:var(--web-soft); }
.public-modern .web-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.public-modern .web-section h2 { font-size:clamp(1.7rem,3vw,2.5rem); line-height:1.2; margin:0 0 12px; }
.public-modern .web-section-heading p { max-width:420px; color:var(--web-muted); margin:0; }
.public-modern .web-link { display:inline-flex; gap:8px; align-items:center; min-height:44px; color:#18181b; font-weight:600; font-size:.94rem; text-underline-offset:5px; }
.public-modern .web-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.public-modern .web-service { display:flex; flex-direction:column; align-items:flex-start; padding:26px; border-radius:18px; background:#fff; color:#18181b; text-decoration:none; transition:box-shadow .15s ease; }
.public-modern .web-service:hover { box-shadow:0 8px 24px #18181b0d; }
.public-modern .web-service>i { font-size:1.5rem; margin-bottom:18px; }
.public-modern .web-service h3 { font-size:1.08rem; margin:0 0 8px; line-height:1.4; }
.public-modern .web-service p { font-size:.92rem; color:var(--web-muted); }
.public-modern .web-service>span { margin-top:auto; display:flex; align-items:center; gap:10px; font-size:.85rem; font-weight:600; padding-top:12px; }
.public-modern .web-process,.public-modern .web-trust-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; padding:0; margin:0; list-style:none; }
.public-modern .web-process li>span { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#f1f1f3; margin-bottom:20px; font-size:.88rem; font-weight:650; }
.public-modern :is(.web-process,.web-trust-grid) h3 { font-size:1.2rem; margin:0 0 10px; }
.public-modern :is(.web-process,.web-trust-grid) p { color:var(--web-muted); font-size:.95rem; }
.public-modern .web-trust-grid article>i { display:block; font-size:1.4rem; margin-bottom:18px; }
.public-modern .web-buy-sell { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:80px; }
.public-modern .web-buy-sell p { color:var(--web-muted); max-width:540px; margin:20px 0; }
.public-modern .web-sell { padding:32px; background:#fff; border-radius:22px; }
.public-modern .web-sell>i { font-size:1.8rem; }
.public-modern .web-sell h3 { margin:16px 0 8px; font-size:1.5rem; }
.public-modern .web-details { border-bottom:1px solid var(--web-line); padding:0; }
.public-modern .web-details summary { cursor:pointer; min-height:56px; padding:18px 32px 18px 0; font-weight:600; font-size:1rem; }
.public-modern .web-details>div { padding:0 0 20px; max-width:820px; color:var(--web-muted); }
.public-modern .web-details>div h3 { color:#18181b; font-size:1.1rem; margin-top:16px; }
.public-modern #mission-vision { margin-top:28px; }
.public-modern .web-review-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.public-modern .web-review-grid a { display:block; border-radius:14px; overflow:hidden; background:#fff; }
.public-modern .web-review-grid img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; display:block; }
.public-modern .web-community { display:flex; align-items:center; gap:20px; flex-wrap:wrap; margin-top:24px; font-size:.95rem; }
.public-modern .web-community p { margin:0 auto 0 0; color:var(--web-muted); }
.public-modern .web-community a { min-height:44px; display:inline-flex; align-items:center; color:#18181b; text-underline-offset:4px; }
.public-modern .web-visit { display:grid; grid-template-columns:1.2fr 1fr; gap:50px; padding:48px; border-radius:24px; background:#18181b; color:#fff; }
.public-modern .web-visit :is(.web-eyebrow,p,.web-link) { color:#d4d4d8; }
.public-modern .web-hours { align-self:center; }
.public-modern .web-hours>i { font-size:1.5rem; }
.public-modern .web-hours h3 { font-size:1.3rem; margin:12px 0 20px; }
.public-modern .web-hours dl>div { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid #ffffff26; padding:12px 0; }
.public-modern .web-hours :is(dt,dd) { margin:0; font-size:.95rem; font-weight:500; }
.public-modern .web-hours p { font-size:.85rem; }
.public-modern .footer { background:#18181b; color:#fff; border:0; margin-top:24px; }
.public-modern .footer a { color:#e4e4e7; min-height:36px; font-size:.9rem; }
.public-modern .footer h6 { color:#fff; text-transform:none; font-size:1rem; }
.public-modern .footer-brand { font-size:1.1rem; }
.public-modern .footer .text-white-50 { color:#b9b9c1!important; }
.public-modern .messenger-float { border:0; border-radius:50px; background:#18181b; color:#fff; box-shadow:0 6px 24px #0002; }
.public-modern .web-photo-dialog { padding:16px; border:0; border-radius:18px; max-width:min(900px,94vw); max-height:92dvh; background:#fff; }
.public-modern .web-photo-dialog::backdrop { background:#18181be6; }
.public-modern .web-photo-dialog button { display:block; margin:0 0 12px auto; min-height:44px; padding:8px 16px; background:#18181b; color:#fff; border:0; border-radius:10px; }
.public-modern .web-photo-dialog img { display:block; max-width:100%; max-height:75dvh; object-fit:contain; }
/* Existing service, request, tracker and reservation screens share the same visual language. */
.public-modern :is(.page-hero,.public-form-page,.tracking-page,.services-catalog,.public-reservation) { background:#fff; color:#18181b; }
.public-modern :is(.page-hero,.public-form-hero,.tracking-intro) h1 { font-size:clamp(2rem,4vw,3.5rem); line-height:1.15; text-transform:none; }
.public-modern :is(.page-hero,.public-form-hero,.tracking-intro) p { color:#585860; font-size:1rem; line-height:1.7; }
.public-modern :is(.page-hero,.services-catalog,.declined-services) { padding-top:48px; padding-bottom:48px; }
.public-modern .services-hero-photo { border:0; border-radius:24px; overflow:hidden; box-shadow:none; }
.public-modern .services-hero-photo img { width:100%; height:280px; object-fit:cover; }
.public-modern .scope-strip { display:none; }
.public-modern :is(.section-heading,.declined-heading) h2 { font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.25; }
.public-modern :is(.service-finder,.booking-help-card,.booking-visit-card,.booking-help-link,.booking-promise,.tracking-help,.tracking-idle,.tracking-empty,.public-reservation-safety) { border:0!important; border-radius:18px!important; box-shadow:none!important; background:#f6f6f8; color:#18181b; }
.public-modern :is(.service-filters button,.service-why-button) { min-height:44px; border:1px solid #dedee3; border-radius:100px; background:#fff; color:#3f3f46; box-shadow:none; font-weight:500; font-size:.87rem; text-transform:none; }
.public-modern .service-filters { flex-wrap:wrap; overflow:visible; gap:8px; }
.public-modern .service-filters button.active { background:#18181b; color:#fff; border-color:#18181b; }
.public-modern .service-detail { border:1px solid #e4e4e7; border-radius:20px; overflow:hidden; box-shadow:none; background:#fff; }
.public-modern .service-photo img { object-fit:cover; }
.public-modern .service-copy { padding:22px; }
.public-modern .service-copy h3 { font-size:1.2rem; }
.public-modern .service-copy p { color:#585860; font-size:.95rem; }
.public-modern .service-card-actions { gap:12px; flex-wrap:wrap; }
.public-modern .service-card-actions a { min-height:44px; display:inline-flex; align-items:center; font-size:.9rem; text-transform:none; }
.public-modern :is(.services-bottom-cta,.declined-card,.tracking-result,.booking-success) { border-radius:20px; box-shadow:none; border:1px solid #e4e4e7; }
.public-modern .declined-services { background:#f6f6f8; }
.public-modern .declined-services { border-top:0; }
.public-modern .declined-heading { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; align-items:center; margin-bottom:28px; }
.public-modern .declined-heading h2 { margin:10px 0 0; letter-spacing:-.035em; }
.public-modern .declined-heading>p { margin:0; font-size:1rem; }
.public-modern .declined-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:stretch; }
.public-modern .declined-card { padding:28px; margin:0; min-height:0; background:#fff; border:0; display:flex; flex-direction:column; gap:16px; }
.public-modern .declined-card>i { display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:#f1f1f3; color:#18181b; font-size:1.3rem; margin:0; }
.public-modern .declined-card>div { min-width:0; }
.public-modern .declined-card small { font-size:.7rem; font-weight:600; color:#666670; letter-spacing:.06em; }
.public-modern .declined-card p { margin:0; font-size:.95rem; line-height:1.7; }
.public-modern .declined-card .btn { margin-top:auto; padding:12px 16px; border-color:#dedee3; background:#fff; color:#18181b; }
.public-modern .declined-card h3 { font-size:1.2rem; }
.public-modern:has(.services-catalog) .messenger-float { display:none; }
/* Retire legacy inverted-hover cards and oversized editorial service headings. */
.public-modern .services-hero { padding:56px 0; border:0; }
.public-modern .services-hero .eyebrow { color:#585860; font-size:.75rem; letter-spacing:.07em; }
.public-modern .services-hero h1 { font-size:clamp(2.1rem,4.2vw,3.6rem); line-height:1.12; font-weight:700; letter-spacing:-.045em; }
.public-modern .services-hero-photo { height:300px; margin:0; }
.public-modern .services-hero-photo img { height:100%; }
.public-modern .services-catalog>.container { padding-top:0!important; padding-bottom:0!important; }
.public-modern .services-catalog .section-heading h2 { font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.25; letter-spacing:-.035em; font-weight:700; }
.public-modern .services-catalog .section-heading>span { font-size:.73rem; font-weight:600; letter-spacing:.06em; color:#585860; }
.public-modern .services-catalog .service-detail,
.public-modern .services-catalog .service-detail:hover { display:flex; flex-direction:column; padding:0; min-height:0; height:100%; border:1px solid #e4e4e7; border-radius:20px; color:#18181b; background:#fff; box-shadow:none; transform:none; }
.public-modern .services-catalog .service-detail:hover p { color:#585860; }
.public-modern .services-catalog .service-photo { height:200px; flex:none; overflow:hidden; }
.public-modern .services-catalog .service-photo img { width:100%; height:100%; object-fit:cover; transform:none; }
.public-modern .services-catalog .service-copy { display:flex; flex:1; flex-direction:column; min-width:0; min-height:0; padding:24px; gap:20px; }
.public-modern .services-catalog .service-card-actions { display:flex; flex-direction:column; align-items:stretch; gap:10px; min-width:0; margin-top:auto; }
.public-modern .services-catalog .service-detail .service-card-actions>a,
.public-modern .services-catalog .service-detail:hover .service-card-actions>a { width:100%; min-height:44px; margin:0; padding:10px; border:0; color:#18181b; text-transform:none; letter-spacing:0; font-size:.9rem; justify-content:center; }
.public-modern .services-catalog .service-detail .service-why-button { color:#18181b; background:#f6f6f8; border:0; border-radius:12px; padding:12px; min-height:48px; white-space:normal; }
@media(max-width:767px) {
 .public-modern .declined-heading { grid-template-columns:1fr; gap:16px; }
 .public-modern .declined-grid { grid-template-columns:1fr; gap:16px; }
 .public-modern .declined-card { padding:24px; }
 .public-modern .declined-card .btn { width:100%; }
 .public-modern .services-hero { padding:36px 0; }
 .public-modern .services-hero-grid { gap:24px; }
 .public-modern .services-hero-photo { height:220px; }
}
.public-modern :is(.booking-form,.tracking-workspace,.tracking-search,.public-reservation-current,.public-reservation-item,.public-reservation-progress,.public-reservation-history,.public-follow-up,.public-contact-card) { border:1px solid #e4e4e7; border-radius:20px; box-shadow:none; background:#fff; color:#18181b; }
.public-modern .booking-section { border:0; border-bottom:1px solid #e4e4e7; padding:28px; }
.public-modern .booking-section legend { display:flex; align-items:center; gap:14px; margin:0 0 20px; padding:0; float:none; width:100%; }
.public-modern .booking-section legend>span { border:0; border-radius:50%; background:#f1f1f3; color:#18181b; width:36px; height:36px; display:grid; place-items:center; font-size:.95rem; }
.public-modern .booking-section legend b { font-size:1.15rem; text-transform:none; }
.public-modern .booking-section legend small { font-size:.85rem; color:#585860; }
.public-modern :is(.form-control,.form-select) { border:1px solid #cfcfd5!important; border-radius:12px!important; min-height:48px; background-color:#fff; color:#18181b; padding:12px 14px; font-size:16px; box-shadow:none; }
.public-modern .form-label { font-weight:600; font-size:.9rem; text-transform:none; letter-spacing:0; margin-bottom:8px; }
.public-modern .form-text { color:#606069; font-size:.82rem; }
.public-modern .form-check-input { accent-color:#18181b; }
.public-modern .booking-submit { padding:24px 28px; border:0; background:#fafafa; border-radius:0 0 20px 20px; }
.public-modern .booking-sidebar { position:static; }
.public-modern .booking-errors { border-radius:14px; }
.public-modern .tracking-search>div { display:flex; gap:10px; }
.public-modern .tracking-search input { min-width:0; flex:1; }
.public-modern .tracking-search button { flex-shrink:0; }
.public-modern .tracking-summary { background:#f6f6f8; border:0; border-radius:14px; }
.public-modern .tracking-current-note { border:0; border-radius:14px; background:#f6f6f8; color:#18181b; }
.public-modern .timeline-step>span { border-radius:50%; }
.public-modern .public-field-error { display:block; color:#b4233a; font-size:.87rem; margin-top:6px; }
.public-modern [aria-invalid=true] { border-color:#b4233a!important; }
.public-modern .modal-content { border:1px solid #e4e4e7; border-radius:22px!important; overflow:hidden; box-shadow:0 20px 80px #0002; }
.public-modern .modal-header { background:#fff!important; color:#18181b!important; padding:24px; border-bottom:1px solid #e4e4e7; }
.public-modern .modal-header h2 { color:#18181b!important; font-size:1.5rem; }
.public-modern .modal-body { padding:24px; background:#fff; color:#3f3f46; }
.public-modern .modal-body h3 { font-size:1.2rem; color:#18181b; }
.public-modern .modal-footer { background:#fafafa; padding:16px 24px max(20px,env(safe-area-inset-bottom)); border-top:1px solid #e4e4e7; }
.public-modern .modal .btn-close { filter:none; min-width:44px; min-height:44px; padding:0; background-size:12px; }
/* iPhone storefront: fixed square photos, softer surfaces and readable disclosures. */
.iphone-shop.public-modern .shop-wrap { max-width:1320px; }
.iphone-shop.public-modern .shop-topline { background:#18181b; color:#fff; }
.iphone-shop.public-modern .shop-header { border-bottom:1px solid #e4e4e7; box-shadow:none; }
.iphone-shop.public-modern .shop-nav { border:0; gap:24px; }
.iphone-shop.public-modern .shop-nav a { font-weight:500; text-transform:none; min-height:44px; }
.iphone-shop.public-modern .shop-search { border:1px solid #d4d4d8; border-radius:14px; overflow:hidden; background:#f6f6f8; }
.iphone-shop.public-modern .shop-search input { border:0; background:transparent; font-size:16px; }
.iphone-shop.public-modern .shop-search button { border:0; border-radius:0; font-weight:600; min-height:48px; }
.iphone-shop.public-modern .shop-market-hero { border:0; border-radius:24px; box-shadow:none; background:#18181b; min-height:0; margin-top:24px; }
.iphone-shop.public-modern .shop-market-copy { padding:36px; }
.iphone-shop.public-modern .shop-market-copy h1 { font-size:clamp(2rem,3.5vw,3.2rem); line-height:1.1; }
.iphone-shop.public-modern .shop-market-copy p { font-size:1rem; color:#d4d4d8; }
.iphone-shop.public-modern .shop-market-promise { border-color:#ffffff24; }
.iphone-shop.public-modern .shop-market-promise article { border-color:#ffffff24; padding:20px; }
.iphone-shop.public-modern .shop-market-promise article>b { border:0; border-radius:50%; background:#ffffff15; color:#fff; }
.iphone-shop.public-modern .shop-filter-details { border:1px solid #e4e4e7; border-radius:18px; overflow:hidden; }
.iphone-shop.public-modern .shop-filter-details summary { border-color:#e4e4e7; }
.iphone-shop.public-modern .shop-filter-title { font-weight:600; }
.iphone-shop.public-modern .shop-filter-title i { background:#f1f1f3; color:#18181b; border-radius:9px; }
.iphone-shop.public-modern .shop-filters label { text-transform:none; letter-spacing:0; font-size:.85rem; font-weight:600; }
.iphone-shop.public-modern :is(.shop-filters input,.shop-filters select,.shop-sort select) { min-height:48px; font-size:16px; border:1px solid #d4d4d8; border-radius:10px; }
.iphone-shop.public-modern .shop-money-field { display:flex; align-items:stretch; border:1px solid #d4d4d8; border-radius:10px; overflow:hidden; }
.iphone-shop.public-modern .shop-money-field>span { border:0; padding:0 12px; background:#f6f6f8; color:#18181b; }
.iphone-shop.public-modern .shop-money-field input { border:0; min-width:0; border-radius:0; }
.iphone-shop.public-modern .shop-results-head { border-bottom:1px solid #e4e4e7; }
.iphone-shop.public-modern .shop-results-head h2 { font-weight:700; font-size:1.6rem; }
.iphone-shop.public-modern .shop-sort { border:0; border-radius:12px; padding:0; gap:8px; }
.iphone-shop.public-modern .shop-sort button { min-height:48px; border-radius:10px; font-size:.85rem; padding:10px 14px; }
.iphone-shop.public-modern .shop-active-filters { border:0; border-radius:12px; background:#f6f6f8; flex-wrap:wrap; }
.iphone-shop.public-modern .shop-active-filters b { border-radius:100px; font-weight:500; font-size:.8rem; }
.iphone-shop.public-modern .shop-card { border:1px solid #e4e4e7; border-radius:18px; box-shadow:none; }
.iphone-shop.public-modern .shop-card:hover { border-color:#c4c4ca; box-shadow:0 8px 24px #18181b0d; transform:none; }
.iphone-shop.public-modern .shop-card-image { aspect-ratio:1; border:0; }
.iphone-shop.public-modern .shop-card-image>img { object-fit:contain; transform:none; background:#f3f3f5; }
.iphone-shop.public-modern :is(.shop-available,.shop-card-condition) { border:0; border-radius:8px; font-weight:600; }
.iphone-shop.public-modern .shop-card-body { grid-template-rows:18px 42px 20px 30px 20px 44px; padding:14px; }
.iphone-shop.public-modern .shop-card-meta>span { font-size:12px; color:#52525b; }
.iphone-shop.public-modern .shop-card h3 { font-size:16px; line-height:21px; }
.iphone-shop.public-modern .shop-card-variant { font-size:13px!important; line-height:20px; }
.iphone-shop.public-modern .shop-card-body>strong { font-size:clamp(19px,2vw,24px); line-height:30px; }
.iphone-shop.public-modern .shop-card-cta { min-height:44px; font-size:13px; border-color:#e4e4e7; }
.iphone-shop.public-modern .shop-card-warranty { background:#f1f5f2; border-color:#e2e8e3; min-height:92px; }
.iphone-shop.public-modern .shop-card-warranty a { min-height:44px; line-height:1.4; }
.iphone-shop.public-modern .shop-pagination a { border:1px solid #e4e4e7; border-radius:10px; min-width:44px; min-height:44px; }
.iphone-shop.public-modern .shop-empty { border:1px solid #e4e4e7; border-radius:22px; background:#fafafa; }
.iphone-shop.public-modern .shop-empty>span { border-radius:50%; }
.iphone-shop.public-modern :is(.shop-visit-card,.shop-how article,.shop-product-glance,.shop-inquiry,.shop-condition-disclosure,.shop-included-items,.shop-service-history,.shop-product-notes,.shop-warranty-highlight,.shop-warranty-policy) { box-shadow:none!important; border:1px solid #e4e4e7; border-radius:18px; overflow:hidden; }
.iphone-shop.public-modern .shop-visit-card { background:#18181b; border:0; }
.iphone-shop.public-modern .shop-visit-intro h2 { font-size:clamp(2rem,3vw,3rem); line-height:1.15; }
.iphone-shop.public-modern .shop-visit-details article>span { border:0; border-radius:12px; }
.iphone-shop.public-modern .shop-how article { border:0; background:#f6f6f8; }
.iphone-shop.public-modern .shop-how article>b { border-radius:50%; }
.iphone-shop.public-modern .shop-footer { border-top:1px solid #e4e4e7; background:#fafafa; }
.iphone-shop.public-modern .shop-footer-grid :is(p,a) { font-size:.9rem; }
.iphone-shop.public-modern .shop-product-info h1 { font-size:clamp(2rem,4vw,3rem); }
.iphone-shop.public-modern .shop-product-price { font-size:2rem; font-weight:700; }
.iphone-shop.public-modern .shop-photo-stage { border-radius:20px; overflow:hidden; border:1px solid #e4e4e7; }
.iphone-shop.public-modern .shop-main-photo { border:0; }
.iphone-shop.public-modern :is(.shop-gallery-arrow,.shop-photo-counter,.shop-thumbnails button,.shop-dialog-arrow,.shop-dialog-close) { border-radius:12px; box-shadow:none; }
.iphone-shop.public-modern .shop-photo-dialog { border:0; border-radius:20px; }
.iphone-shop.public-modern .shop-specifications { background:transparent; gap:0 24px; border:0; }
.iphone-shop.public-modern .shop-specifications>div { border:0; border-bottom:1px solid #e4e4e7; background:transparent; padding:12px 0; }
.iphone-shop.public-modern .shop-specifications dt { font-size:.8rem; font-weight:500; color:#606069; }
.iphone-shop.public-modern .shop-specifications dd { font-size:.98rem; }
.iphone-shop.public-modern .shop-warranty-highlight { background:#f1f5f2; }
.iphone-shop.public-modern .shop-glance-list article { background:transparent; border:0; border-top:1px solid #e4e4e7; }
.iphone-shop.public-modern .shop-inquiry-steps { gap:12px; }
.iphone-shop.public-modern .shop-inquiry-steps li { border:0; border-radius:12px; background:#f6f6f8; }
.iphone-shop.public-modern .shop-inquiry-steps li>b { border-radius:50%; }
.iphone-shop.public-modern .shop-inquiry-steps strong { font-size:.9rem; line-height:1.4; }
.iphone-shop.public-modern .shop-inquiry-steps small { font-size:.8rem; line-height:1.5; }
.iphone-shop.public-modern .shop-included-grid article { border:0; border-radius:12px; background:#f6f6f8; }
@media(max-width:1199px) { .public-modern .navbar .nav-link { padding:10px 8px; font-size:.8rem; } .public-modern .web-hero { gap:36px; } }
@media(max-width:991px) {
 .public-modern .site-offcanvas { width:min(360px,90vw)!important; }
 .public-modern .site-offcanvas .offcanvas-body { padding:20px; }
 .public-modern .navbar .nav-link { font-size:1rem; min-height:48px; padding:12px 14px; }
 .public-modern .nav-cta { width:100%; margin-top:14px; }
 .public-modern .web-hero { padding-top:44px; padding-bottom:44px; gap:28px; }
 .public-modern .web-buy-sell { gap:32px; }
 .public-modern .web-visit { gap:28px; padding:32px; }
}
@media(max-width:767px) {
 .public-modern { padding-bottom:76px; }
 .public-modern .container { padding-left:20px; padding-right:20px; }
 .public-modern .schedule-bar { flex-wrap:wrap; gap:3px 7px; font-size:.6rem; }
 .public-modern .navbar { padding:8px 0; }
 .public-modern .web-hero { grid-template-columns:1fr; padding-top:36px; padding-bottom:36px; }
 .public-modern .web-hero h1 { font-size:clamp(2.4rem,9vw,3.5rem); margin-bottom:18px; }
 .public-modern .web-hero-copy>p { font-size:1rem; }
 .public-modern .web-actions { gap:10px; margin-top:22px; }
 .public-modern .web-actions .btn { flex:1 1 145px; padding:12px; }
 .public-modern .web-start { padding:24px; border-radius:20px; }
 .public-modern .web-section { padding-top:40px; padding-bottom:40px; }
 .public-modern .web-section-heading { align-items:flex-start; flex-direction:column; gap:8px; margin-bottom:24px; }
 .public-modern .web-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .public-modern .web-service { padding:18px; }
 .public-modern .web-service h3 { font-size:1rem; }
 .public-modern .web-service p { font-size:.85rem; }
 .public-modern :is(.web-process,.web-trust-grid) { grid-template-columns:1fr; gap:24px; }
 .public-modern .web-process li { display:grid; grid-template-columns:42px minmax(0,1fr); column-gap:16px; }
 .public-modern .web-process li>span { grid-row:1 / 3; }
 .public-modern .web-process p { margin:0; }
 .public-modern .web-buy-sell,.public-modern .web-visit { grid-template-columns:1fr; gap:28px; }
 .public-modern .web-review-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
 .public-modern .web-visit { padding:26px; }
 .public-modern .web-hours dl>div { flex-wrap:wrap; gap:6px; }
 .public-modern .mobile-action-bar { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); position:fixed; bottom:0; left:0; right:0; z-index:1020; background:#fff; color:#18181b; border-top:1px solid #e4e4e7; padding:6px 8px max(6px,env(safe-area-inset-bottom)); box-shadow:0 -4px 20px #00000006; }
 .public-modern .mobile-action-bar a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-height:50px; font-size:.66rem; font-weight:500; text-decoration:none; border:0; border-radius:10px; color:#585860; }
 .public-modern .mobile-action-bar a.active { color:#18181b; background:#f1f1f3; }
 .public-modern .mobile-action-bar i { font-size:1.15rem; }
 .public-modern .messenger-float { display:none; }
 .public-modern :is(.booking-section,.booking-submit,.tracking-search) { padding:20px; }
 .public-modern :is(.booking-layout,.tracking-layout) { grid-template-columns:1fr; gap:24px; }
 .public-modern .booking-submit { flex-direction:column; align-items:stretch; gap:18px; }
 .public-modern .tracking-search>div { flex-direction:column; }
 .public-modern .service-detail { display:flex; flex-direction:column; }
 .public-modern .service-photo { width:100%; height:170px; min-height:0; }
 .public-modern .service-photo img { width:100%; height:100%; }
 .public-modern .service-card-actions { flex-direction:column; align-items:stretch; }
 .public-modern .service-card-actions>* { justify-content:center; text-align:center; }
 .public-modern .public-form-hero { display:block; }
 .public-modern .booking-promise { margin-top:18px; }
 .public-modern .modal-dialog { margin:12px; }
 .public-modern .modal-content { max-height:calc(100dvh - 24px); }
 .public-modern .modal-body { overflow-y:auto; padding:20px; }
 .public-modern .modal-header { padding:20px; }
 .public-modern .modal-footer { flex-wrap:wrap; padding:16px 20px max(20px,env(safe-area-inset-bottom)); }
 .iphone-shop.public-modern { padding-bottom:0; }
 .iphone-shop.public-modern .shop-market-copy { padding:26px; }
 .iphone-shop.public-modern .shop-market-promise { display:none; }
 .iphone-shop.public-modern .shop-market-actions { margin-top:18px; }
 .iphone-shop.public-modern .shop-nav { gap:0 16px; }
 .iphone-shop.public-modern .shop-contact { font-size:.78rem; min-height:44px; display:flex; align-items:center; }
 .iphone-shop.public-modern .shop-card-body { padding:11px; }
 .iphone-shop.public-modern .shop-card h3 { font-size:15px; }
 .iphone-shop.public-modern .shop-card-condition { font-size:.65rem; padding:5px 7px; }
 .iphone-shop.public-modern .shop-available { display:none; }
 .iphone-shop.public-modern .shop-product-overview { gap:24px; }
 .iphone-shop.public-modern .shop-inquiry-actions { display:flex; flex-direction:column; }
 .iphone-shop.public-modern .shop-inquiry-actions>* { width:100%; }
 .iphone-shop.public-modern .shop-inquiry-steps { grid-template-columns:1fr; }
 .iphone-shop.public-modern .shop-pagination { flex-wrap:wrap; gap:12px; }
}
@media(max-width:359px) { .public-modern .web-service-grid { grid-template-columns:1fr; } .iphone-shop.public-modern .shop-product-grid.shop-compact-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .public-modern * { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

/* Repair services use the same calm hierarchy as the homepage. */
.public-modern .services-refresh { color:#18181b; }
.public-modern .services-refresh .services-hero { padding:48px 0 40px; }
.public-modern .services-refresh .services-hero-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; }
.public-modern .services-refresh .services-hero h1 { font-size:clamp(2.2rem,4vw,3.6rem); max-width:600px; line-height:1.1; letter-spacing:-.045em; margin:16px 0; }
.public-modern .services-refresh .services-hero p { max-width:500px; font-size:1.05rem; line-height:1.75; color:#585860; }
.public-modern .services-refresh .web-actions { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 18px; }
.public-modern .services-refresh .web-btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:13px 20px; border:1px solid #dedee3; border-radius:12px; font-size:.94rem; font-weight:600; line-height:1.4; text-align:center; text-decoration:none; text-transform:none; letter-spacing:0; }
.public-modern .services-refresh .web-btn-dark { background:#18181b; border-color:#18181b; color:#fff; }
.public-modern .services-refresh .web-btn-light { background:#fff; color:#18181b; }
.public-modern .services-refresh .web-btn:hover { opacity:.85; }
.public-modern .services-refresh .services-reassurance { display:flex; gap:8px; font-size:.85rem; color:#585860; line-height:1.6; }
.public-modern .services-refresh .services-hero-photo { height:auto; margin:0; background:#f6f6f8; border-radius:24px; overflow:hidden; }
.public-modern .services-refresh .services-hero-photo img { display:block; height:280px; width:100%; object-fit:cover; filter:grayscale(1); }
.public-modern .services-refresh .services-hero-photo figcaption { padding:20px 24px; font-size:1rem; font-weight:600; }
.public-modern .services-refresh .services-catalog { padding:48px 0 56px; scroll-margin-top:100px; }
.public-modern .services-refresh .section-heading { max-width:700px; margin-left:0; text-align:left; }
.public-modern .services-refresh .section-heading>span { color:#585860; font-size:.72rem; font-weight:600; letter-spacing:.09em; }
.public-modern .services-refresh .section-heading h2 { margin:10px 0; }
.public-modern .services-refresh .section-heading p { color:#585860; line-height:1.7; }
.public-modern .services-refresh .service-finder { padding:24px; margin:0 0 24px; }
.public-modern .services-refresh .service-finder>label { display:block; font-size:.88rem; font-weight:600; margin:0 0 10px; }
.public-modern .services-refresh .service-search-row { display:flex; align-items:center; gap:12px; padding:0 14px; border:1px solid #d6d6dc; border-radius:12px; background:#fff; }
.public-modern .services-refresh .service-search-row:focus-within { outline:2px solid #18181b; outline-offset:2px; }
.public-modern .services-refresh .service-search-row input { min-width:0; flex:1; width:0; margin:0; padding:14px 0; min-height:52px; border:0!important; border-radius:0; box-shadow:none!important; background:transparent; outline:none; font-size:16px; }
.public-modern .services-refresh .service-search-row input::-webkit-search-cancel-button { display:none; }
.public-modern .services-refresh .service-search-row button { flex-shrink:0; width:44px; height:44px; border:0; border-radius:10px; background:#f4f4f5; color:#18181b; }
.public-modern .services-refresh .service-filters { margin-top:16px; }
.public-modern .services-refresh .service-filters button { padding:10px 16px; font-weight:500; white-space:normal; }
.public-modern .services-refresh .service-finder-status { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:.82rem; color:#585860; border:0; padding:0; margin-top:16px; }
.public-modern .services-refresh .service-detail { display:grid; grid-template-columns:100px minmax(0,1fr); grid-template-rows:1fr auto; align-content:start; gap:20px; padding:24px; border:1px solid #e4e4e7; border-radius:20px; }
.public-modern .services-refresh .service-detail:hover { display:grid; padding:24px; border-color:#c4c4cc; }
.public-modern .services-refresh .service-photo { width:100px; height:100px; border-radius:14px; background:#f6f6f8; }
.public-modern .services-refresh .service-photo img { width:100%; height:100%; object-fit:cover; }
.public-modern .services-refresh .service-copy { padding:0; display:block; }
.public-modern .services-refresh .service-copy h3 { font-size:1.12rem; font-weight:650; letter-spacing:-.02em; line-height:1.35; margin:0 0 8px; }
.public-modern .services-refresh .service-copy p { font-size:.9rem; line-height:1.65; color:#585860; margin:0; }
.public-modern .services-refresh .service-detail .service-card-actions { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; margin:0; padding:0; align-items:stretch; }
.public-modern .services-refresh .service-detail .service-card-actions>a { border-radius:10px; min-height:46px; padding:12px; background:#18181b; color:#fff; font-size:.85rem; font-weight:600; gap:8px; text-align:center; text-decoration:none; }
.public-modern .services-refresh .service-detail:hover .service-card-actions>a { color:#fff; }
.public-modern .services-refresh .service-why-button { align-self:stretch; background:#f4f4f5; color:#3f3f46; padding:12px; min-height:46px; font-size:.85rem; font-weight:500; border-radius:10px; letter-spacing:0; text-transform:none; }
.public-modern .services-refresh .service-no-results { border:0; border-radius:20px; background:#f6f6f8; padding:32px; margin:0; text-align:left; }
.public-modern .services-refresh .service-no-results>i { display:block; font-size:1.8rem; margin-bottom:14px; }
.public-modern .services-refresh .service-no-results h3 { font-size:1.4rem; letter-spacing:-.025em; }
.public-modern .services-refresh .service-no-results p { max-width:600px; color:#585860; }
.public-modern .services-refresh .services-bottom-cta { margin-top:40px; padding:32px; border-radius:22px; background:#f6f6f8; color:#18181b; gap:32px; }
.public-modern .services-refresh .services-bottom-cta span { font-size:.7rem; letter-spacing:.08em; color:#585860; }
.public-modern .services-refresh .services-bottom-cta h2 { font-size:clamp(1.4rem,2.6vw,1.9rem); font-weight:650; line-height:1.25; letter-spacing:-.035em; margin:10px 0; }
.public-modern .services-refresh .services-bottom-cta p { margin:0; font-size:.95rem; color:#585860; line-height:1.65; }
.public-modern .services-refresh .services-bottom-cta>a { flex-shrink:0; }
.public-modern .services-refresh .declined-services { padding:48px 0 64px; }
.public-modern .services-refresh .modal-content { margin:0; }
.public-modern .services-refresh .service-results>.modal { margin:0; padding:0; }
.public-modern .services-refresh .modal-dialog-scrollable { margin:12px auto; width:calc(100% - 24px); max-width:540px; height:calc(100dvh - 24px); min-height:0; }
.public-modern .services-refresh .modal-footer { flex-direction:row; }
.public-modern .services-refresh .service-why-modal .modal-body { display:block; }
.public-modern .services-refresh .modal-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.public-modern .services-refresh .modal-header>div { min-width:0; flex:1; }
.public-modern .services-refresh .modal-title { font-size:1.35rem; line-height:1.3; letter-spacing:-.025em; }
.public-modern .services-refresh .modal-header small { color:#585860; font-size:.7rem; letter-spacing:.08em; }
.public-modern .services-refresh .modal-header .btn-close { flex-shrink:0; width:44px; height:44px; box-sizing:border-box; margin:-6px -6px 0 0; }
.public-modern .services-refresh .modal-body p { font-size:1rem; line-height:1.8; color:#3f3f46; }
.public-modern .services-refresh .service-modal-note { display:flex; gap:12px; padding:18px; border-radius:14px; background:#f6f6f8; font-size:.88rem; line-height:1.7; }
.public-modern:has(.services-refresh) .mobile-action-bar { z-index:1030; }
.public-modern:has(.services-refresh .modal.show) .mobile-action-bar { visibility:hidden; pointer-events:none; }
@media(max-width:991px) {
 .public-modern .services-refresh .services-hero-grid { gap:28px; grid-template-columns:1.2fr 1fr; }
 .public-modern .services-refresh .service-detail,.public-modern .services-refresh .service-detail:hover { grid-template-columns:72px minmax(0,1fr); padding:18px; gap:16px; }
 .public-modern .services-refresh .service-photo { width:72px; height:80px; border-radius:12px; }
 .public-modern .services-refresh .service-detail .service-card-actions { grid-template-columns:1fr; gap:6px; }
}
@media(max-width:767px) {
 .public-modern .services-refresh .services-hero { padding:28px 0 12px; }
 .public-modern .services-refresh .services-hero-grid { grid-template-columns:1fr; gap:24px; }
 .public-modern .services-refresh .services-hero h1 { font-size:2.2rem; }
 .public-modern .services-refresh .services-hero p { font-size:1rem; }
 .public-modern .services-refresh .services-hero-photo img { height:150px; }
 .public-modern .services-refresh .services-hero-photo figcaption { padding:16px 20px; font-size:.9rem; }
 .public-modern .services-refresh .web-actions { gap:10px; }
 .public-modern .services-refresh .web-actions>* { flex:1 1 150px; }
 .public-modern .services-refresh .services-catalog { padding:32px 0; }
 .public-modern .services-refresh .service-finder { padding:18px; }
 .public-modern .services-refresh .service-search-row { gap:8px; padding:0 10px; }
 .public-modern .services-refresh .service-filters { gap:8px; }
 .public-modern .services-refresh .service-filters button { flex:1 1 calc(50% - 8px); padding:10px 8px; font-size:.8rem; }
 .public-modern .services-refresh .service-finder-status>span:last-child { display:none; }
 .public-modern .services-refresh .service-detail .service-card-actions { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
 .public-modern .services-refresh .service-card-actions>a i { display:none; }
 .public-modern .services-refresh .service-copy h3 { font-size:1.05rem; }
 .public-modern .services-refresh .service-copy p { font-size:.86rem; }
 .public-modern .services-refresh .service-no-results { padding:24px; }
 .public-modern .services-refresh .services-bottom-cta { padding:24px; margin-top:28px; gap:20px; flex-direction:column; align-items:stretch; }
 .public-modern .services-refresh .declined-services { padding:32px 0 48px; }
 .public-modern .services-refresh .modal-header,.public-modern .services-refresh .modal-body { padding:20px; }
 .public-modern .services-refresh .modal-footer { display:flex; flex-wrap:wrap; padding:16px 20px; gap:8px; }
 .public-modern .services-refresh .modal-footer>* { flex:1 1 140px; margin:0; min-height:48px; }
}
/* Public inquiry form: open sections, consistent controls, and readable state colors. */
.public-modern .booking-refresh { background:#fff; color:#18181b; padding:24px 0 64px; }
.public-modern .booking-refresh .booking-back { display:inline-flex; gap:10px; align-items:center; min-height:44px; color:#585860; font-size:.88rem; text-decoration:none; }
.public-modern .booking-refresh .booking-back:hover { color:#18181b; text-decoration:underline; }
.public-modern .booking-refresh .public-form-hero { grid-template-columns:minmax(0,1fr) 300px; gap:40px; padding:24px 0 32px; align-items:center; border-bottom:1px solid #e4e4e7; }
.public-modern .booking-refresh .public-form-hero .eyebrow { color:#585860; font-size:.72rem; font-weight:600; letter-spacing:.09em; }
.public-modern .booking-refresh .public-form-hero h1 { font-size:clamp(2rem,3.5vw,3rem); font-weight:700; letter-spacing:-.045em; line-height:1.14; margin:14px 0 16px; }
.public-modern .booking-refresh .public-form-hero p { max-width:620px; font-size:1rem; line-height:1.75; color:#585860; }
.public-modern .booking-refresh .booking-promise { padding:22px; margin:0; gap:14px; }
.public-modern .booking-refresh .booking-promise>i { font-size:1.5rem; color:#18181b; }
.public-modern .booking-refresh .booking-promise b { font-size:.95rem; font-weight:600; }
.public-modern .booking-refresh .booking-promise small { color:#585860; font-size:.85rem; line-height:1.65; }
.public-modern .booking-refresh .booking-layout { grid-template-columns:minmax(0,1fr) 300px; gap:40px; padding-top:32px; }
.public-modern .booking-refresh .booking-form { min-width:0; border:0; box-shadow:none; border-radius:0; }
.public-modern .booking-refresh .booking-form-intro { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; padding:0 0 24px; }
.public-modern .booking-refresh .booking-form-intro>span { display:flex; gap:10px; align-items:center; font-weight:600; }
.public-modern .booking-refresh .booking-form-intro small { font-size:.82rem; color:#585860; }
.public-modern .booking-refresh .booking-form-intro small span { color:#b4233a; }
.public-modern .booking-refresh .booking-section { padding:0 0 32px; margin:0 0 28px; min-width:0; border-bottom:1px solid #e4e4e7; }
.public-modern .booking-refresh .booking-section:last-of-type { margin-bottom:0; border:0; }
.public-modern .booking-refresh .booking-section legend { gap:12px; margin-bottom:22px; align-items:flex-start; }
.public-modern .booking-refresh .booking-section legend>span { width:32px; height:32px; flex:0 0 32px; font-size:.85rem; font-weight:600; }
.public-modern .booking-refresh .booking-section legend b { font-size:1.1rem; line-height:1.4; font-weight:650; letter-spacing:-.015em; }
.public-modern .booking-refresh .booking-section legend small { font-size:.85rem; line-height:1.6; color:#585860; }
.public-modern .booking-refresh .booking-section .row { --bs-gutter-x:20px; --bs-gutter-y:22px; }
.public-modern .booking-refresh .form-label { display:flex; align-items:baseline; gap:5px; flex-wrap:wrap; font-size:.9rem; font-weight:600; letter-spacing:0; text-transform:none; color:#27272a; margin-bottom:8px; }
.public-modern .booking-refresh .form-label>small { margin-left:auto; font-size:.78rem; font-weight:400; color:#62626b; }
.public-modern .booking-refresh :is(.form-control,.form-select) { min-height:52px; min-width:0; width:100%; font-size:16px; color:#18181b; background-color:#fff; line-height:1.5; }
.public-modern .booking-refresh .form-select { padding-right:40px; }
.public-modern .booking-refresh .form-select option { background:#fff; color:#18181b; }
.public-modern .booking-refresh .form-control::placeholder { color:#73737d; opacity:1; }
.public-modern .booking-refresh :is(.form-control,.form-select):focus { border-color:#18181b!important; outline:2px solid #18181b; outline-offset:2px; box-shadow:none; }
.public-modern .booking-refresh [aria-invalid=true] { border-color:#b4233a!important; background-color:#fffafb; }
.public-modern .booking-refresh [aria-invalid=true]:focus { outline-color:#b4233a; }
.public-modern .booking-refresh textarea.form-control { min-height:128px; resize:vertical; }
.public-modern .booking-refresh .form-text { display:block; margin-top:8px; font-size:.81rem; line-height:1.65; color:#62626b; }
.public-modern .booking-refresh input[type=file] { font-size:.85rem; padding:0; overflow:hidden; line-height:50px; }
.public-modern .booking-refresh input[type=file]::file-selector-button { margin:0 12px 0 0; min-height:50px; padding:0 14px; border:0; border-right:1px solid #dedee3; background:#f4f4f5; color:#18181b; font-size:.85rem; font-weight:600; }
.public-modern .booking-refresh input[type=date] { display:block; max-width:100%; appearance:none; -webkit-appearance:none; }
.public-modern .booking-refresh input[type=date]::-webkit-date-and-time-value { text-align:left; }
.public-modern .booking-refresh .consent-check { display:grid; grid-template-columns:22px minmax(0,1fr); gap:12px; align-items:start; padding:18px; margin:0; border:0; border-radius:14px; background:#f6f6f8; }
.public-modern .booking-refresh .consent-check .form-check-input { width:22px; height:22px; margin:2px 0 0; float:none; border:1px solid #878792; border-radius:6px; cursor:pointer; }
.public-modern .booking-refresh .consent-check .form-check-input:checked { background-color:#18181b; border-color:#18181b; }
.public-modern .booking-refresh .consent-check .form-check-input:focus { box-shadow:0 0 0 3px #18181b22; }
.public-modern .booking-refresh .consent-check .form-check-label { font-size:.86rem; line-height:1.7; color:#3f3f46; cursor:pointer; }
.public-modern .booking-refresh .booking-submit { display:flex; flex-direction:column; align-items:stretch; gap:20px; padding:24px; border-radius:18px; background:#f6f6f8; }
.public-modern .booking-refresh .booking-submit>div { align-items:flex-start; gap:12px; }
.public-modern .booking-refresh .booking-submit b { font-size:.9rem; font-weight:600; line-height:1.6; }
.public-modern .booking-refresh .booking-submit small { color:#585860; font-size:.82rem; line-height:1.65; margin-top:4px; }
.public-modern .booking-refresh .booking-submit .btn { width:100%; min-width:0; min-height:52px; justify-content:center; gap:12px; border-radius:12px; font-size:1rem; padding:14px 18px; background:#18181b; color:#fff; }
.public-modern .booking-refresh .booking-submit .btn:hover { background:#303036; color:#fff; }
.public-modern .booking-refresh .booking-sidebar { display:grid; grid-template-columns:1fr; gap:20px; min-width:0; }
.public-modern .booking-refresh :is(.booking-help-card,.booking-visit-card,.booking-help-link) { padding:24px; }
.public-modern .booking-refresh .booking-help-card .eyebrow { font-size:.72rem; letter-spacing:.08em; color:#585860; }
.public-modern .booking-refresh .booking-help-card ol { margin-top:20px; }
.public-modern .booking-refresh .booking-help-card li { padding-bottom:24px; }
.public-modern .booking-refresh .booking-help-card li:last-child { padding-bottom:0; }
.public-modern .booking-refresh .booking-help-card li::before { border-radius:50%; font-size:.75rem; font-weight:600; }
.public-modern .booking-refresh .booking-help-card li::after { border-color:#d6d6dc; }
.public-modern .booking-refresh .booking-help-card li b { font-size:.9rem; font-weight:600; line-height:1.5; }
.public-modern .booking-refresh .booking-help-card li small { font-size:.83rem; line-height:1.65; color:#585860; }
.public-modern .booking-refresh .booking-visit-card h3 { font-size:1.1rem; font-weight:650; letter-spacing:-.02em; margin:12px 0; color:#18181b; }
.public-modern .booking-refresh .booking-visit-card p { font-size:.88rem; color:#585860; line-height:1.75; }
.public-modern .booking-refresh .booking-hours b { display:block; font-size:.85rem; font-weight:600; color:#3f3f46; }
.public-modern .booking-refresh .booking-hours small { display:block; color:#585860; }
.public-modern .booking-refresh :is(.booking-visit-card,.booking-help-link) a { display:inline-flex; align-items:center; min-height:44px; gap:8px; color:#18181b; font-size:.9rem; font-weight:600; text-underline-offset:4px; }
.public-modern .booking-refresh .booking-help-link>span { color:#585860; font-size:.85rem; }
.public-modern .booking-refresh .booking-success { padding:32px; background:#f6f6f8; border:0; }
.public-modern .booking-refresh .booking-success>i { border-radius:50%; }
.public-modern .booking-refresh .booking-success h2 { font-size:1.65rem; line-height:1.3; letter-spacing:-.025em; }
.public-modern .booking-refresh .booking-success p { color:#585860; line-height:1.75; }
.public-modern:has(.booking-refresh) .messenger-float { display:none; }
.public-modern .booking-issue-examples { margin-top:12px; border-top:1px solid #e4e4e7; color:#585860; font-size:.95rem; line-height:1.65; }
.public-modern .booking-issue-examples summary { min-height:44px; padding:12px 0; color:#18181b; font-weight:600; cursor:pointer; }
.public-modern .booking-issue-examples summary:focus-visible { outline:2px solid #18181b; outline-offset:3px; border-radius:4px; }
.public-modern .booking-issue-examples ul { padding-left:22px; margin:4px 0 12px; }
.public-modern .booking-issue-examples li+li { margin-top:12px; }
.public-modern .booking-issue-examples p { margin:0; font-size:inherit; }
@media(max-width:991px) {
 .public-modern .booking-refresh .public-form-hero { grid-template-columns:1fr; gap:22px; }
 .public-modern .booking-refresh .booking-promise { max-width:none; padding:18px 20px; }
 .public-modern .booking-refresh .booking-layout { grid-template-columns:1fr; gap:32px; }
 .public-modern .booking-refresh .booking-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .public-modern .booking-refresh .booking-help-link { grid-column:1/-1; }
}
@media(max-width:575px) {
 .public-modern .booking-refresh { padding-top:12px; padding-bottom:40px; }
 .public-modern .booking-refresh .public-form-hero { padding:16px 0 24px; gap:18px; }
 .public-modern .booking-refresh .public-form-hero h1 { font-size:2rem; }
 .public-modern .booking-refresh .public-form-hero p { font-size:.95rem; }
 .public-modern .booking-refresh .booking-layout { padding-top:24px; }
 .public-modern .booking-refresh .booking-form-intro { display:block; }
 .public-modern .booking-refresh .booking-form-intro small { display:block; margin-top:6px; }
 .public-modern .booking-refresh .booking-section { padding-bottom:26px; margin-bottom:24px; }
 .public-modern .booking-refresh .booking-section legend { margin-bottom:18px; }
 .public-modern .booking-refresh .booking-submit { padding:20px; }
 .public-modern .booking-refresh .booking-sidebar { grid-template-columns:1fr; gap:16px; }
 .public-modern .booking-refresh .booking-success { grid-template-columns:1fr; gap:18px; padding:24px; }
 .public-modern .booking-refresh .booking-success>div>div { flex-direction:column; }
 .public-modern .booking-refresh .booking-success .btn { width:100%; }
}
/* Tracking: one clear lookup, a readable current update, optional stage detail. */
.public-modern .tracking-refresh { padding:24px 0 64px; min-height:65vh; }
.public-modern .tracking-refresh .tracking-back { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:#585860; text-decoration:none; font-size:.88rem; }
.public-modern .tracking-refresh .tracking-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr); gap:56px; padding:28px 0 0; }
.public-modern .tracking-refresh .tracking-intro { position:static; min-width:0; }
.public-modern .tracking-refresh .tracking-intro .eyebrow { font-size:.7rem; font-weight:600; color:#585860; letter-spacing:.09em; }
.public-modern .tracking-refresh .tracking-intro h1 { font-size:clamp(2rem,3.8vw,3.3rem); line-height:1.12; font-weight:700; letter-spacing:-.045em; margin:16px 0 20px; }
.public-modern .tracking-refresh .tracking-intro p { font-size:1rem; line-height:1.75; max-width:430px; color:#585860; }
.public-modern .tracking-refresh .tracking-help { padding:20px; margin-top:28px; gap:14px; align-items:flex-start; }
.public-modern .tracking-refresh .tracking-help>i { font-size:1.3rem; }
.public-modern .tracking-refresh .tracking-help b { font-size:.93rem; font-weight:600; }
.public-modern .tracking-refresh .tracking-help small { font-size:.86rem; line-height:1.75; color:#585860; margin-top:6px; }
.public-modern .tracking-refresh .tracking-contact { display:inline-flex; align-items:center; gap:10px; min-height:48px; margin-top:12px; color:#3f3f46; font-size:.86rem; text-underline-offset:4px; }
.public-modern .tracking-refresh .tracking-workspace { min-width:0; min-height:0; border:0; border-radius:0; box-shadow:none; }
.public-modern .tracking-refresh .tracking-search { padding:24px; border:1px solid #e4e4e7; border-radius:20px; background:#fff; }
.public-modern .tracking-refresh .tracking-search>label { font-size:.95rem; color:#27272a; font-weight:600; letter-spacing:0; text-transform:none; }
.public-modern .tracking-refresh .tracking-search>div { display:flex; flex-direction:row; gap:10px; margin-top:10px; }
.public-modern .tracking-refresh .tracking-search .form-control { min-width:0; width:0; flex:1; min-height:52px; font-size:16px; font-weight:500; letter-spacing:.01em; color:#18181b; background:#fff; text-transform:uppercase; }
.public-modern .tracking-refresh .tracking-search .form-control::placeholder { color:#73737d; opacity:1; }
.public-modern .tracking-refresh .tracking-search .form-control:focus { border-color:#18181b!important; outline:2px solid #18181b; outline-offset:2px; }
.public-modern .tracking-refresh .tracking-search .form-control[aria-invalid=true] { border-color:#b4233a!important; outline-color:#b4233a; }
.public-modern .tracking-refresh .tracking-search .btn { min-height:52px; min-width:0; border-radius:12px; padding:12px 18px; display:inline-flex; justify-content:center; align-items:center; gap:10px; font-size:.9rem; font-weight:600; white-space:normal; background:#18181b; color:#fff; }
.public-modern .tracking-refresh .tracking-search .btn:hover { background:#303036; color:#fff; }
.public-modern .tracking-refresh .tracking-search>small { font-size:.81rem; line-height:1.65; color:#62626b; margin-top:10px; }
.public-modern .tracking-refresh .tracking-search>.public-field-error { color:#b4233a; }
.public-modern .tracking-refresh :is(.tracking-idle,.tracking-empty) { min-height:0; padding:24px; margin-top:20px; gap:16px; justify-content:flex-start; align-items:flex-start; }
.public-modern .tracking-refresh :is(.tracking-idle,.tracking-empty)>i { width:44px; height:44px; flex:0 0 44px; border-radius:14px; background:#fff; color:#18181b; font-size:1.25rem; }
.public-modern .tracking-refresh .tracking-idle b { font-size:.95rem; font-weight:600; line-height:1.5; }
.public-modern .tracking-refresh .tracking-idle span { font-size:.86rem; line-height:1.6; color:#585860; }
.public-modern .tracking-refresh .tracking-empty h2 { font-size:1.2rem; letter-spacing:-.02em; line-height:1.35; margin:0 0 8px; }
.public-modern .tracking-refresh .tracking-empty p { font-size:.9rem; line-height:1.7; color:#585860; }
.public-modern .tracking-refresh .tracking-empty a { display:inline-flex; align-items:center; min-height:44px; margin-top:12px; color:#18181b; font-size:.9rem; font-weight:600; text-underline-offset:4px; }
.public-modern .tracking-refresh .tracking-result { padding:28px 0 0; margin-top:24px; border:0; border-top:1px solid #e4e4e7; border-radius:0; box-shadow:none; }
.public-modern .tracking-refresh .tracking-result-head { align-items:flex-start; flex-wrap:wrap; gap:12px; }
.public-modern .tracking-refresh .tracking-result-head>div { min-width:0; }
.public-modern .tracking-refresh .tracking-result-head small { font-size:.78rem; letter-spacing:.04em; font-weight:600; color:#585860; overflow-wrap:anywhere; }
.public-modern .tracking-refresh .tracking-result-head h2 { font-size:1.5rem; line-height:1.3; letter-spacing:-.03em; font-weight:700; overflow-wrap:anywhere; }
.public-modern .tracking-refresh .tracking-found { display:inline-flex; align-items:center; gap:6px; font-size:.78rem; color:#585860; min-height:28px; }
.public-modern .tracking-refresh .tracking-now { margin-top:20px; padding:24px; border-radius:18px; background:#18181b; color:#fff; }
.public-modern .tracking-refresh .tracking-now-label { font-size:.68rem; font-weight:600; letter-spacing:.09em; color:#d4d4d8; }
.public-modern .tracking-refresh .tracking-now h3 { font-size:1.45rem; line-height:1.3; font-weight:650; color:#fff; margin:10px 0 12px; overflow-wrap:anywhere; }
.public-modern .tracking-refresh .tracking-now p { font-size:.94rem; line-height:1.75; color:#f4f4f5; margin:0 0 14px; }
.public-modern .tracking-refresh .tracking-now small { display:block; font-size:.78rem; line-height:1.6; color:#d4d4d8; }
.public-modern .tracking-refresh .tracking-summary { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; padding:24px 0; margin:0; border-radius:0; background:transparent; }
.public-modern .tracking-refresh .tracking-summary>div { padding:0; gap:6px; border:0; }
.public-modern .tracking-refresh .tracking-summary small { font-size:.79rem; font-weight:500; letter-spacing:0; color:#62626b; }
.public-modern .tracking-refresh .tracking-summary b { font-size:.93rem; font-weight:500; line-height:1.7; color:#27272a; overflow-wrap:anywhere; }
.public-modern .tracking-refresh .tracking-progress { border-top:1px solid #e4e4e7; border-bottom:1px solid #e4e4e7; }
.public-modern .tracking-refresh .tracking-progress summary { display:flex; flex-wrap:wrap; gap:8px 16px; justify-content:space-between; align-items:center; padding:16px 0; min-height:52px; cursor:pointer; color:#18181b; font-size:.9rem; font-weight:600; list-style:none; }
.public-modern .tracking-refresh .tracking-progress summary::-webkit-details-marker { display:none; }
.public-modern .tracking-refresh .tracking-progress summary::after { content:'+'; font-size:1.2rem; }
.public-modern .tracking-refresh .tracking-progress[open] summary::after { content:'−'; }
.public-modern .tracking-refresh .tracking-progress summary>span { margin-left:auto; font-size:.78rem; font-weight:400; color:#62626b; }
.public-modern .tracking-refresh .repair-timeline { display:grid; grid-template-columns:1fr; gap:8px; margin:0; padding:0 0 18px; }
.public-modern .tracking-refresh .timeline-step { display:flex; align-items:center; gap:12px; padding:10px 12px; min-width:0; border-radius:12px; color:#62626b; }
.public-modern .tracking-refresh .timeline-step>span { width:30px; height:30px; flex:0 0 30px; border:1px solid #d4d4d8; background:#f6f6f8; color:#62626b; font-size:.8rem; font-weight:600; }
.public-modern .tracking-refresh .timeline-step b { font-size:.88rem; font-weight:500; line-height:1.5; }
.public-modern .tracking-refresh .timeline-step.done { color:#3f3f46; }
.public-modern .tracking-refresh .timeline-step.done>span { border:0; background:#f1f1f3; color:#18181b; }
.public-modern .tracking-refresh .timeline-step.current { background:#f4f4f5; color:#18181b; }
.public-modern .tracking-refresh .timeline-step.current>span { background:#18181b; color:#fff; border:0; }
.public-modern .tracking-refresh .timeline-step.current b { font-weight:600; }
.public-modern .tracking-refresh .timeline-step small { margin-left:auto; font-size:.72rem; color:#585860; }
.public-modern .tracking-refresh .tracking-current-note { display:grid; grid-template-columns:24px minmax(0,1fr); gap:10px 12px; padding:20px; margin-top:24px; align-items:start; }
.public-modern .tracking-refresh .tracking-current-note b { font-size:.93rem; font-weight:600; }
.public-modern .tracking-refresh .tracking-current-note small { margin-top:5px; font-size:.83rem; line-height:1.7; color:#585860; overflow-wrap:anywhere; }
.public-modern .tracking-refresh .tracking-current-note a { grid-column:2; display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#18181b; font-size:.9rem; font-weight:600; text-underline-offset:4px; }
.public-modern:has(.tracking-refresh) .messenger-float { display:none; }
@media(max-width:991px) {
 .public-modern .tracking-refresh .tracking-layout { grid-template-columns:1fr; gap:28px; }
 .public-modern .tracking-refresh .tracking-intro { display:contents; }
 .public-modern .tracking-refresh .tracking-intro-copy { grid-row:1; }
 .public-modern .tracking-refresh .tracking-workspace { grid-row:2; }
 .public-modern .tracking-refresh .tracking-help { grid-row:3; margin:0; }
 .public-modern .tracking-refresh .tracking-contact { grid-row:4; margin:0; }
 .public-modern .tracking-refresh .tracking-intro p { max-width:600px; }
}
@media(max-width:575px) {
 .public-modern .tracking-refresh { padding:12px 0 40px; }
 .public-modern .tracking-refresh .tracking-layout { padding-top:16px; gap:24px; }
 .public-modern .tracking-refresh .tracking-intro h1 { font-size:2.1rem; margin:14px 0 16px; }
 .public-modern .tracking-refresh .tracking-intro p { font-size:.95rem; }
 .public-modern .tracking-refresh .tracking-search { padding:20px; }
 .public-modern .tracking-refresh .tracking-search>div { flex-direction:column; }
 .public-modern .tracking-refresh .tracking-search .form-control { width:100%; flex:auto; }
 .public-modern .tracking-refresh .tracking-search .btn { width:100%; }
 .public-modern .tracking-refresh :is(.tracking-idle,.tracking-empty) { padding:20px; gap:12px; }
 .public-modern .tracking-refresh .tracking-empty { flex-direction:column; }
 .public-modern .tracking-refresh .tracking-now { padding:20px; }
 .public-modern .tracking-refresh .timeline-step small { max-width:58px; line-height:1.4; }
}
