/* Brand service pages: inherit typography, colours and controls from the theme. */
.pt-brand-repair .pt-pagehead__inner { max-width: 860px; }
.pt-brand-repair__parts,
.pt-brand-repair__request { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.pt-brand-repair__identity { border: 0; }
.pt-brand-repair__identity img { display: block; width: auto; max-width: min(112px, 100%); height: auto; max-height: 48px; object-fit: contain; object-position: left center; margin-bottom: var(--pt-s-lg); mix-blend-mode: multiply; }
.pt-brand-repair__identity p { margin: 0 0 var(--pt-s-lg); }
.pt-brand-repair__status { font-size: var(--pt-fs-body-lg); font-weight: var(--pt-fw-semibold); color: var(--pt-ink); }
.pt-brand-repair__card { padding: clamp(24px, 3vw, 40px); border: 1px solid var(--pt-hairline); border-radius: var(--pt-r-lg); background: var(--pt-canvas); }
.pt-brand-repair__number { display: block; font-size: var(--pt-fs-caption-md); font-weight: var(--pt-fw-semibold); color: var(--pt-primary); margin-bottom: var(--pt-s-md); }
.pt-brand-repair :is(.pt-brand-repair__card, .pt-brand-repair__type, .pt-brand-repair__steps li, .pt-brand-repair__related) h3 { font-size: var(--pt-fs-body-lg); line-height: 1.35; margin: 0 0 var(--pt-s-md); }
.pt-brand-repair :is(.pt-brand-repair__card, .pt-brand-repair__type, .pt-brand-repair__steps li, .pt-brand-repair__related) p { margin: 0; color: var(--pt-charcoal); }
.pt-brand-repair__type { padding: var(--pt-s-xl) 0; border-top: 1px solid var(--pt-hairline); }
.pt-brand-repair__parts-list { background: var(--pt-canvas); padding: clamp(24px, 3vw, 40px); border-radius: var(--pt-r-lg); }
.pt-brand-repair__parts-list ul { margin: 0 0 var(--pt-s-lg); padding-left: 20px; }
.pt-brand-repair__parts-list li { margin-bottom: var(--pt-s-sm); padding-left: 4px; }
.pt-brand-repair__parts-list li::marker { color: var(--pt-primary); }
.pt-brand-repair__parts-list p { font-size: var(--pt-fs-caption-md); color: var(--pt-charcoal); margin: 0; }
.pt-brand-repair__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--pt-grid-gap); list-style: none; padding: 0; margin: 0; }
.pt-brand-repair__steps li { margin: 0; border-top: 1px solid var(--pt-hairline); padding-top: var(--pt-s-xl); }
.pt-brand-repair__request h2 { color: inherit; margin-bottom: var(--pt-s-lg); }
.pt-brand-repair__request p { margin: 0 0 var(--pt-s-xl); }
.pt-brand-repair__request .pt-brand-repair__note { color: var(--pt-steel); font-size: var(--pt-fs-caption-md); margin: var(--pt-s-md) 0 0; }
.pt-brand-repair__contact { display: flex; flex-direction: column; gap: var(--pt-s-sm); border-left: 1px solid var(--pt-ink-surface-soft); padding-left: var(--pt-s-xl); }
.pt-brand-repair__contact > span { color: var(--pt-steel); font-size: var(--pt-fs-caption-md); }
.pt-brand-repair__contact a { color: inherit; font-size: var(--pt-fs-body-lg); overflow-wrap: anywhere; }
.pt-brand-repair__contact a + span { margin-top: var(--pt-s-xl); }
.pt-brand-repair__faq { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.55fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.pt-brand-repair__faq details { border-bottom: 1px solid var(--pt-hairline); padding: var(--pt-s-lg) 0; }
.pt-brand-repair__faq details:first-child { border-top: 1px solid var(--pt-hairline); }
.pt-brand-repair__faq summary { cursor: pointer; font-weight: var(--pt-fw-medium); padding-right: var(--pt-s-lg); }
.pt-brand-repair__faq summary::marker { color: var(--pt-primary); }
.pt-brand-repair__faq details p { margin: var(--pt-s-md) 0 0; color: var(--pt-charcoal); }
.pt-brand-repair__faq summary:focus-visible { outline: 2px solid var(--pt-primary); outline-offset: 6px; }
.pt-brand-repair__related { display: flex; flex-direction: column; align-items: flex-start; padding: var(--pt-s-xl); border: 1px solid var(--pt-hairline); border-radius: var(--pt-r-lg); color: var(--pt-ink); background: var(--pt-canvas); text-decoration: none; transition: border-color 180ms ease; }
.pt-brand-repair__related p { flex: 1; }
.pt-brand-repair__related svg { margin-top: var(--pt-s-lg); color: var(--pt-primary); }
.pt-brand-repair__related:hover { border-color: var(--pt-primary); text-decoration: none; }
@media (max-width: 1023px) {
 .pt-brand-repair__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .pt-brand-repair__intro, .pt-brand-repair__parts { grid-template-columns: minmax(0, 1fr); }
 .pt-brand-repair__main { display: contents; }
 .pt-brand-repair__intro > .pt-layout__aside { grid-row: 2; }
}
@media (max-width: 767px) {
 .pt-brand-repair__request, .pt-brand-repair__faq { grid-template-columns: minmax(0, 1fr); }
 .pt-brand-repair__contact { padding: var(--pt-s-xl) 0 0; border-left: 0; border-top: 1px solid var(--pt-ink-surface-soft); }
 .pt-brand-repair .pt-pagehead__title { overflow-wrap: break-word; }
}
@media (max-width: 479px) { .pt-brand-repair__steps { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { .pt-brand-repair__related { transition: none; } }

.pt-brand-repair__main { min-width: 0; }
.pt-brand-repair__main .pt-entry--wide { max-width: none; }
.pt-brand-repair__section { margin-top: clamp(40px, 5vw, 64px); }

/* Compact service symbols aligned with the card number. */
.pt-brand-repair__card{min-width:0}
.pt-brand-repair__card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:40.5px;margin-bottom:var(--pt-s-lg)}
.pt-brand-repair__card-head .pt-brand-repair__number{margin:0;order:0}
.pt-brand-repair__work-decoration{display:block;order:1;flex:0 0 40.5px;width:40.5px;height:40.5px;color:var(--pt-primary,#6cad3d);opacity:.7;pointer-events:none;user-select:none;background:transparent}
.pt-brand-repair__work-decoration .pt-brand-repair__work-icon{display:block;width:40.5px;height:40.5px;fill:none}

/* Small representative product photos, independent of the card's text. */
.pt-brand-repair__type {
 --pt-type-image-size:132px;
 position:relative;
 isolation:isolate;
 min-width:0;
 min-height:calc(var(--pt-type-image-size) + 2 * var(--pt-s-xl));
 padding-right:calc(var(--pt-type-image-size) + var(--pt-s-lg));
}
.pt-brand-repair__type > h3,.pt-brand-repair__type > p{position:relative;z-index:1;overflow-wrap:anywhere}
.pt-brand-repair__type-visual{position:absolute;right:0;bottom:var(--pt-s-lg);width:var(--pt-type-image-size);height:var(--pt-type-image-size);z-index:0;pointer-events:none;user-select:none}
.pt-brand-repair__type-visual .pt-brand-repair__type-image{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:right bottom;margin:0}
@media(hover:hover) and (pointer:fine){.pt-brand-repair__type:hover .pt-brand-repair__type-model{transform:scale(1.12)}}
@media(max-width:599px){.pt-brand-repair__type{--pt-type-image-size:108px}}
@media(prefers-reduced-motion:reduce){.pt-brand-repair__type-visual .pt-brand-repair__type-model{transition:none;transform:none}}

.pt-brand-repair__types-action{margin-top:var(--pt-s-xl)}
.pt-brand-repair__types-action .pt-btn,.pt-brand-repair__parts-link{text-align:center;white-space:normal}
.pt-brand-repair__parts-link svg{flex:0 0 22px;width:22px;height:22px}

/* Real product images grouped inside the existing 132/108 px placeholder. */
.pt-brand-repair__type-visual{overflow:hidden;display:flex;align-items:flex-end;gap:4px}
.pt-brand-repair__type-model{display:block;flex:1 1 0;min-width:0;height:100%;transform-origin:center bottom;transition:transform 220ms cubic-bezier(.2,.7,.3,1)}
.pt-brand-repair__type-visual--group .pt-brand-repair__type-image{object-position:center bottom}

/* Crop only the source image's blank margins in CSS; raster originals stay intact. */
.pt-brand-repair__type-model--framed{position:absolute;flex:none;overflow:hidden}
.pt-brand-repair__type-model--framed .pt-brand-repair__type-image{position:absolute;left:var(--pt-img-left);top:var(--pt-img-top);width:var(--pt-img-width);height:var(--pt-img-height);max-width:none;max-height:none;object-fit:fill}
