/* A focused finish for the existing photographic KaShine site. */
body.classic-polish.refined-design {
  --refined-line: #c8abe528;
  --refined-muted: #c0b5cd;
  --refined-cyan: #a7e8dd;
}

/* Clear navigation and comfortable touch targets at every width. */
body.classic-polish.refined-design header {
  width: min(1280px, calc(100% - 64px));
  border-color: #c2a0e337;
  box-shadow: 0 14px 48px #03020940;
}
body.classic-polish.refined-design .header-inner { padding-inline: 26px; }
body.classic-polish.refined-design .header-icons { gap: 6px; }
body.classic-polish.refined-design .header-icons button {
  padding: 10px;
  width: 44px;
  height: 44px;
  min-width: 44px;
}
body.classic-polish.refined-design #navigation a {
  min-height: 44px;
  display: flex;
  align-items: center;
  color: #c9bfd6;
}
body.classic-polish.refined-design #navigation a.active { color: #fff; }
body.classic-polish.refined-design #navigation a::after { bottom: 3px; }
body.classic-polish.refined-design :is(main,header,footer,#quote,#detail,#service-package-details,#installed-product-details) :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 2px solid var(--refined-cyan);
  outline-offset: 4px;
}

/* The existing imagery remains the focus, with a quieter frame. */
body.classic-polish.refined-design .hero-reg-panel {
  border-color: #d2b9ec63;
  background: linear-gradient(125deg,#19121fe8,#101b22ed);
  box-shadow: 0 24px 64px #0005, inset 0 1px #ffffff0b;
}
body.classic-polish.refined-design .hero-reg-panel>label { color: #f3ebfa; font-size: 13px; }
body.classic-polish.refined-design .hero-reg-links :is(a,button) { min-height: 44px; }
body.classic-polish.refined-design .hero-steps { color: #d0c6da; }
body.classic-polish.refined-design .hero-content>p { color: #eee7f4; }
body.classic-polish.refined-design :is(.service-tiles,.classic-filter-row,.booking) {
  width: min(1280px,calc(100% - 64px));
  margin-inline: auto;
  padding-inline: 0;
}
body.classic-polish.refined-design :is(.benefits-bar,.brands-strip,.installed-featured,.business-presence) {
  width: min(1280px,calc(100% - 64px));
}
body.classic-polish.refined-design .section-heading { padding: 56px 24px 30px; }
body.classic-polish.refined-design :is(.section-heading h2,.presence-heading h2) {
  font-size: clamp(30px,3.3vw,44px);
  line-height: 1.12;
  letter-spacing: -.8px;
}
body.classic-polish.refined-design .benefits-bar>div {
  background: transparent;
  border-color: var(--refined-line);
  border-radius: 20px;
  padding: 18px 14px;
}
body.classic-polish.refined-design .benefits-bar small { color: var(--refined-muted); }
body.classic-polish.refined-design .brands-strip { padding-bottom: 30px; }

/* A stable caption and top-right price leave more of each photo visible. */
body.classic-polish.refined-design .service-tiles { gap: 18px; }
body.classic-polish.refined-design :is(.service-tiles,.catalog) .tile {
  border-radius: 25px;
  border-color: #d5b3ed25;
  box-shadow: 0 8px 28px #0003;
  isolation: isolate;
}
body.classic-polish.refined-design :is(.service-tiles,.catalog) .tile::after {
  background: linear-gradient(180deg,#09061222 15%,#0e081733 42%,#0c0718ed 100%);
  opacity: 1;
}
body.classic-polish.refined-design :is(.service-tiles,.catalog) .tile>.ks-tile-caption {
  inset: auto 0 0;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  padding: 23px 20px !important;
  font: 600 16px/1.35 OpenSans,Arial,sans-serif;
  letter-spacing: 0;
  text-align: left;
  text-shadow: 0 2px 12px #0008;
  translate: none;
}
body.classic-polish.refined-design .tile .service-symbol {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  color: #e9daf8;
}
body.classic-polish.refined-design .tile>.classic-tile-price {
  top: 14px;
  right: 14px;
  bottom: auto;
  padding: 10px 13px;
  background: #110b1de8;
  border-color: #d3b4ed46;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
body.classic-polish.refined-design .classic-filter-row { margin-bottom: 22px; }
body.classic-polish.refined-design :is(.classic-filters,.service-filters,.product-filters) button {
  min-height: 44px;
  font-size: 12px;
  border-color: #ba98d944;
}

/* Product names read as names, while the installed price stays prominent. */
body.classic-polish.refined-design .installed-product {
  display: flex;
  flex-direction: column;
  border-radius: 25px;
  border-color: var(--refined-line);
  background: linear-gradient(145deg,#1d1727,#13121b);
}
body.classic-polish.refined-design .product-photo { background: #f6f4f8; }
body.classic-polish.refined-design .product-photo img { mix-blend-mode: multiply; }
body.classic-polish.refined-design .product-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 24px 21px;
}
body.classic-polish.refined-design .product-body h3 {
  font: 600 18px/1.4 OpenSans,Arial,sans-serif;
  letter-spacing: -.25px;
  min-height: 3em;
  margin: 12px 0 9px;
}
body.classic-polish.refined-design .product-body>p { color: #bfb3cc; font-size: 13px; }
body.classic-polish.refined-design .product-price strong { font-variant-numeric: tabular-nums; }
body.classic-polish.refined-design .product-actions { margin-top: auto; }
body.classic-polish.refined-design .product-actions button { min-height: 44px; font-size: 12px; }
body.classic-polish.refined-design .product-select { background: #ba9be5; }
body.classic-polish.refined-design .product-select.is-chosen { background: #a4ded4; }
body.classic-polish.refined-design .catalog { gap: 34px 26px; }
body.classic-polish.refined-design .catalog h2 {
  font: 600 22px/1.35 OpenSans,Arial,sans-serif;
  letter-spacing: -.3px;
  margin: 23px 0 12px;
}
body.classic-polish.refined-design .catalog p { color: var(--refined-muted); line-height: 1.75; }
body.classic-polish.refined-design .catalog .button { min-height: 46px; }

/* Softer supporting sections keep attention on the next useful action. */
body.classic-polish.refined-design .booking { gap: 18px; }
body.classic-polish.refined-design .booking article { border-color: var(--refined-line); padding: 30px; }
body.classic-polish.refined-design .booking p { color: var(--refined-muted); }
body.classic-polish.refined-design .coral { max-width: 1280px; padding: 42px 30px; }
body.classic-polish.refined-design .questions { background: transparent; padding-block: 80px; }
body.classic-polish.refined-design .classic-faq-list summary { font-size: 14px; color: #e8dcf3; }
body.classic-polish.refined-design .classic-faq-list details p { color: #c2b5ce; font-size: 14px; }
body.classic-polish.refined-design .presence-grid>article { border-color: var(--refined-line); }
body.classic-polish.refined-design .opening-hours dl>div { padding-block: 10px; font-size: 13px; }
body.classic-polish.refined-design .opening-hours dd { color: #c8bbd6; }
body.classic-polish.refined-design .enquiry-form :is(input,textarea)::placeholder { color: #ab9ab9; }
body.classic-polish.refined-design .garage-bar { border-color: #bb96e26b; box-shadow: 0 14px 44px #0007; }
body.classic-polish.refined-design .garage-bar button { font-size: 12px; min-height: 48px; }
body.classic-polish.refined-design footer button { min-height: 44px; }

@media (hover:hover) and (pointer:fine) {
  body.classic-polish.refined-design .header-icons button:hover { background: #a87bd51c; }
  body.classic-polish.refined-design .product-select:hover { background: #cfb5ef; }
  body.classic-polish.refined-design :is(.service-tiles,.catalog) .tile:hover { border-color: #bc99e282; }
}
@media (max-width:999px) {
  body.classic-polish.refined-design #navigation {
    width: min(320px,calc(100vw - 32px));
    padding: 16px;
    gap: 4px;
    background: #14101cf7;
    box-shadow: 0 20px 60px #0006;
  }
  body.classic-polish.refined-design #navigation a { padding: 10px 14px; border-radius: 12px; }
  body.classic-polish.refined-design #navigation a.active { background: #a57cdd18; }
  body.classic-polish.refined-design #navigation a::after { display: none; }
}
@media (max-width:700px) {
  body.classic-polish.refined-design header { width: calc(100% - 28px); }
  body.classic-polish.refined-design .header-inner { padding-inline: 13px; gap: 8px; }
  body.classic-polish.refined-design .header-icons { gap: 0; }
  body.classic-polish.refined-design .header-icons button { width: 44px; min-width: 44px; }
  body.classic-polish.refined-design :is(.service-tiles,.classic-filter-row,.booking,.benefits-bar,.brands-strip,.installed-featured,.business-presence) { width: calc(100% - 32px); }
  body.classic-polish.refined-design .hero-reg-panel>label { font-size: 12px; }
  body.classic-polish.refined-design .hero-reg-links { gap: 9px; }
  body.classic-polish.refined-design .service-tiles { gap: 12px; }
  body.classic-polish.refined-design .service-tiles .tile { aspect-ratio: .92; border-radius: 21px; }
  body.classic-polish.refined-design :is(.service-tiles,.catalog) .tile>.ks-tile-caption { gap: 9px; padding: 18px 12px !important; font-size: 13px; }
  body.classic-polish.refined-design .tile .service-symbol { width: 30px; height: 30px; flex-basis: 30px; }
  body.classic-polish.refined-design .tile>.classic-tile-price { top: 10px; right: 10px; font-size: 12px; padding: 8px 10px; }
  body.classic-polish.refined-design .product-grid { gap: 12px; }
  body.classic-polish.refined-design .product-body { padding: 18px 13px; }
  body.classic-polish.refined-design .product-body h3 { font-size: 15px; line-height: 1.4; min-height: 4.2em; }
  body.classic-polish.refined-design .product-body>p { font-size: 12px; min-height: 3em; }
  body.classic-polish.refined-design .product-actions { gap: 5px; }
  body.classic-polish.refined-design .product-actions button { font-size: 11px; }
  body.classic-polish.refined-design .product-price { margin-block: 16px; }
  body.classic-polish.refined-design .product-price strong { font-size: 24px; }
  body.classic-polish.refined-design .catalog h2 { font-size: 22px; }
  body.classic-polish.refined-design .catalog p { min-height: 0; }
  body.classic-polish.refined-design .catalog .tile { aspect-ratio: 1.4; }
  body.classic-polish.refined-design .catalog .tile>.ks-tile-caption { font-size: 17px; padding: 24px !important; }
  body.classic-polish.refined-design .catalog .tile .service-symbol { width: 38px; height: 38px; flex-basis: 38px; }
  body.classic-polish.refined-design .questions { padding: 58px 20px; }
  body.classic-polish.refined-design .classic-faq-list summary { font-size: 13px; }
  body.classic-polish.refined-design .classic-faq-list details p { font-size: 13px; }
  body.classic-polish.refined-design .garage-bar button { font-size: 11px; padding-inline: 14px; }
}
@media (max-width:380px) {
  body.classic-polish.refined-design .service-tiles .tile { aspect-ratio: .8; }
  body.classic-polish.refined-design .service-tiles .tile>.ks-tile-caption { flex-direction: column; align-items: flex-start; gap: 8px; font-size: 13px; }
  body.classic-polish.refined-design .product-body h3 { font-size: 14px; }
  body.classic-polish.refined-design .product-price strong { font-size: 21px; }
}
