/* Hallmark · genre: modern-minimal · macrostructure: Catalogue · theme: studied-DNA (owner service-catalogue reference) · enrichment: live service imagery · nav/footer: existing shared · contrast: pass (40–41) · slop: pass (42–49) · mobile: pass (34,49–57) */
/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 */

.yc365svc {
  width: 100%;
  max-width: var(--yc365p-frame);
  margin: 0 auto;
  padding: var(--yc365p-space-6) clamp(var(--yc365p-space-4), 2.4vw, var(--yc365p-space-8)) var(--yc365p-space-16);
  color: var(--yc365p-text);
  font-family: var(--yc365p-font-body);
}

.yc365svc *,
.yc365svc *::before,
.yc365svc *::after { box-sizing: border-box; }

.yc365svc a { color: inherit; text-decoration: none; }
.yc365svc button,
.yc365svc input { font: inherit; }

.yc365svc-search-panel,
.yc365svc-panel,
.yc365svc-categories,
.yc365svc-card,
.yc365svc-ad {
  border: 1px solid var(--yc365p-border);
  background: var(--yc365p-surface);
  box-shadow: var(--yc365p-shadow-sm);
}

.yc365svc-search-panel {
  display: grid;
  grid-template-columns: minmax(12rem, .65fr) minmax(18rem, 1fr);
  align-items: center;
  gap: var(--yc365p-space-4) var(--yc365p-space-8);
  min-height: 8.25rem;
  padding: var(--yc365p-space-6);
  border-radius: var(--yc365p-radius-sm);
}

.yc365svc-search-panel > div > p {
  margin: 0 0 var(--yc365p-space-1);
  color: var(--yc365p-blue-strong);
  font-family: var(--yc365p-font-mono);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.yc365svc-search-panel h1 {
	min-width: 0;
	margin: 0;
  font-family: var(--yc365p-font-display);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
	line-height: 1.08;
	letter-spacing: -.025em;
	overflow-wrap: anywhere;
}

.yc365svc-search-panel form {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  min-height: 3.25rem;
  padding: 0 var(--yc365p-space-4);
  border: 1px solid var(--yc365p-border-strong);
  border-radius: var(--yc365p-radius-sm);
  background: var(--yc365p-surface-soft);
  transition: border-color var(--yc365p-motion-fast) var(--yc365p-ease);
}

.yc365svc-search-panel form:focus-within {
  border-color: var(--yc365p-focus);
  box-shadow: 0 0 0 .2rem var(--yc365p-focus-halo);
}

.yc365svc-search-panel form > i { color: var(--yc365p-text-muted); font-size: 1.2rem; }
.yc365svc-search-panel input { min-width: 0; height: 3rem; padding: 0 var(--yc365p-space-3); border: 0; outline: 0; color: var(--yc365p-text); background: transparent; }
.yc365svc-search-panel input::placeholder { color: var(--yc365p-text-muted); opacity: .86; }
.yc365svc-search-panel button { display: grid; place-items: center; width: 2rem; height: 2rem; padding: 0; border: 0; border-radius: var(--yc365p-radius-sm); color: var(--yc365p-text-muted); background: transparent; cursor: pointer; }
.yc365svc-search-panel button:hover { color: var(--yc365p-text); background: var(--yc365p-blue-wash); }
.yc365svc-search-panel__description { grid-column: 1 / -1; max-width: 56rem; margin: calc(var(--yc365p-space-3) * -1) 0 0; color: var(--yc365p-text-muted); font-size: .875rem; line-height: 1.55; }

.yc365svc-panel { margin-top: var(--yc365p-space-8); border-radius: var(--yc365p-radius-sm); }
.yc365svc-section-heading { display: grid; grid-template-columns: 3px 1fr auto; align-items: center; gap: var(--yc365p-space-4); min-height: 3.5rem; padding: 0 var(--yc365p-space-5); border-bottom: 1px solid var(--yc365p-border); }
.yc365svc-section-heading > span { width: 3px; height: 1.75rem; margin-left: calc(var(--yc365p-space-5) * -1); background: var(--yc365p-blue-strong); }
.yc365svc-section-heading h2 { margin: 0; font-family: var(--yc365p-font-display); font-size: 1rem; line-height: 1.2; letter-spacing: -.01em; }
.yc365svc-section-heading > a,
.yc365svc-section-heading > p { display: inline-flex; align-items: center; gap: var(--yc365p-space-2); margin: 0; color: var(--yc365p-blue-strong); font-size: .75rem; font-weight: 600; }
.yc365svc-section-heading > a { white-space: nowrap; }
.yc365svc-section-heading > a:hover { text-decoration: underline; text-underline-offset: .2em; }

.yc365svc-newest { padding-bottom: var(--yc365p-space-5); }
.yc365svc-newest__rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--yc365p-space-5); padding: var(--yc365p-space-5); }
.yc365svc-new-card { min-width: 0; }
.yc365svc-new-card > a { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; border-radius: var(--yc365p-radius-sm); background: var(--yc365p-surface-soft); }
.yc365svc-new-card > a > img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--yc365p-motion-base) var(--yc365p-ease); }
.yc365svc-new-card > a:hover > img { transform: scale(1.025); }
.yc365svc-new-card > a > span { display: grid; place-items: center; width: 100%; height: 100%; color: var(--yc365p-blue-strong); font-size: 2rem; }
.yc365svc-new-card small { position: absolute; inset: auto 0 0; display: flex; align-items: center; gap: var(--yc365p-space-1); padding: .35rem .5rem; color: var(--yc365p-white); background: linear-gradient(transparent, var(--yc365p-overlay)); font-size: .69rem; font-weight: 600; }
.yc365svc-new-card h3 { margin: var(--yc365p-space-2) 0 var(--yc365p-space-1); font-family: var(--yc365p-font-display); font-size: .94rem; line-height: 1.25; }
.yc365svc-new-card h3 a:hover { color: var(--yc365p-blue-strong); }
.yc365svc-new-card > div { display: flex; align-items: center; justify-content: space-between; gap: var(--yc365p-space-2); color: var(--yc365p-text-muted); font-size: .69rem; }
.yc365svc-new-card time { white-space: nowrap; }

.yc365svc-ad-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--yc365p-space-8); margin-top: var(--yc365p-space-6); }
.yc365svc-ad { position: relative; display: grid; place-items: center; overflow: hidden; min-height: 6rem; border-style: dashed; border-radius: var(--yc365p-radius-sm); background: repeating-linear-gradient(135deg, var(--yc365p-surface-soft), var(--yc365p-surface-soft) .75rem, var(--yc365p-surface) .75rem, var(--yc365p-surface) 1.5rem); }
.yc365svc-ad > span { position: relative; z-index: 1; padding: .25rem .5rem; color: var(--yc365p-text-muted); background: var(--yc365p-surface); font-family: var(--yc365p-font-mono); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
.yc365svc-ad .adsbygoogle { position: absolute; inset: 0; display: block; }
.yc365svc-ad--square { min-height: 18rem; }
.yc365svc-ad--portrait { min-height: 24rem; }

.yc365svc-all-heading { margin-top: var(--yc365p-space-8); }
.yc365svc-all-heading .yc365svc-section-heading { border-bottom: 0; }
.yc365svc-all-heading .yc365svc-section-heading > p { color: var(--yc365p-text-muted); }

.yc365svc-catalogue { display: grid; grid-template-columns: minmax(13.5rem, .7fr) minmax(0, 2.3fr); gap: var(--yc365p-space-5); align-items: start; margin-top: var(--yc365p-space-5); }
.yc365svc-sidebar { display: grid; gap: var(--yc365p-space-5); }
.yc365svc-categories { overflow: hidden; border-radius: var(--yc365p-radius-sm); }
.yc365svc-categories header { display: grid; grid-template-columns: 3px 1fr; align-items: center; gap: var(--yc365p-space-4); min-height: 3.5rem; padding: 0 var(--yc365p-space-5); border-bottom: 1px solid var(--yc365p-border); }
.yc365svc-categories header > span { width: 3px; height: 1.75rem; margin-left: calc(var(--yc365p-space-5) * -1); background: var(--yc365p-blue-strong); }
.yc365svc-categories h2 { margin: 0; font-family: var(--yc365p-font-display); font-size: .95rem; }
.yc365svc-categories > a { display: grid; grid-template-columns: 1.25rem 1fr auto; align-items: center; gap: var(--yc365p-space-3); min-height: 2.8rem; padding: 0 var(--yc365p-space-5); color: var(--yc365p-text-muted); font-size: .8rem; }
.yc365svc-categories > a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yc365svc-categories > a:hover,
.yc365svc-categories > a.is-current { color: var(--yc365p-blue-strong); background: var(--yc365p-blue-wash); }
.yc365svc-categories > a i { font-size: 1rem; }
.yc365svc-categories > a strong { font-size: .7rem; font-weight: 600; }

.yc365svc-results { min-width: 0; }
.yc365svc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--yc365p-space-4); }
.yc365svc-card { display: grid; grid-template-columns: 42% 1fr; min-width: 0; overflow: hidden; border-radius: var(--yc365p-radius-sm); transition: transform var(--yc365p-motion-fast) var(--yc365p-ease), box-shadow var(--yc365p-motion-fast) var(--yc365p-ease); }
.yc365svc-card:hover { box-shadow: var(--yc365p-shadow-md); }
.yc365svc-card__media { position: relative; min-height: 10.25rem; overflow: hidden; background: var(--yc365p-surface-soft); }
.yc365svc-card__media img { width: 100%; height: 100%; object-fit: cover; }
.yc365svc-card__media > span:not(.yc365svc-card__price) { display: grid; place-items: center; width: 100%; height: 100%; color: var(--yc365p-blue-strong); font-size: 2rem; }
.yc365svc-card__price { position: absolute; inset: auto 0 0; display: block; padding: .4rem .55rem; color: var(--yc365p-white); background: var(--yc365p-overlay); font-size: .68rem; font-weight: 700; }
.yc365svc-card__content { display: flex; min-width: 0; flex-direction: column; padding: var(--yc365p-space-4); }
.yc365svc-card__heading { display: grid; grid-template-columns: 1fr auto; gap: var(--yc365p-space-2); align-items: start; }
.yc365svc-card__heading h3 { min-width: 0; margin: 0; font-family: var(--yc365p-font-display); font-size: .98rem; line-height: 1.22; }
.yc365svc-card__heading h3 a:hover { color: var(--yc365p-blue-strong); }
.yc365svc-card__heading button { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; padding: 0; border: 0; color: var(--yc365p-text-muted); background: transparent; cursor: pointer; }
.yc365svc-card__used,
.yc365svc-card__added { display: flex; align-items: center; gap: var(--yc365p-space-1); margin: var(--yc365p-space-2) 0 0; color: var(--yc365p-text-muted); font-size: .69rem; line-height: 1.25; }
.yc365svc-card__description { display: -webkit-box; overflow: hidden; margin: var(--yc365p-space-3) 0; color: var(--yc365p-text-muted); font-size: .74rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.yc365svc-card footer { display: flex; align-items: center; justify-content: space-between; gap: var(--yc365p-space-3); margin-top: auto; padding-top: var(--yc365p-space-3); border-top: 1px solid var(--yc365p-border); }
.yc365svc-card footer ul { display: flex; flex-wrap: wrap; gap: var(--yc365p-space-3); margin: 0; padding: 0; color: var(--yc365p-text-muted); list-style: none; }
.yc365svc-card footer li { display: inline-flex; align-items: center; gap: .2rem; font-size: .66rem; }
.yc365svc-people { display: flex; justify-content: flex-end; min-width: 2rem; }
.yc365svc-people a { position: relative; display: block; width: 1.65rem; height: 1.65rem; margin-left: -.45rem; border: 2px solid var(--yc365p-surface); border-radius: 50%; }
.yc365svc-people img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.yc365svc-people a:hover { z-index: 2; transform: translateY(-2px); }

.yc365svc-empty { display: grid; place-items: center; min-height: 18rem; padding: var(--yc365p-space-8); border: 1px dashed var(--yc365p-border-strong); color: var(--yc365p-text-muted); text-align: center; }
.yc365svc-empty[hidden] { display: none; }
.yc365svc-empty i { font-size: 2rem; }
.yc365svc-empty h3 { margin: var(--yc365p-space-3) 0 var(--yc365p-space-1); color: var(--yc365p-text); font-size: 1rem; }
.yc365svc-empty p { margin: 0; font-size: .8rem; }
.yc365svc-sentinel { display: flex; justify-content: center; gap: .3rem; min-height: 3rem; padding: var(--yc365p-space-5); }
.yc365svc-sentinel span { width: .42rem; height: .42rem; border-radius: 50%; background: var(--yc365p-blue-strong); animation: yc365svc-pulse .9s infinite alternate; }
.yc365svc:not(.is-loading) .yc365svc-sentinel span { visibility: hidden; }
.yc365svc-sentinel span:nth-child(2) { animation-delay: .15s; }
.yc365svc-sentinel span:nth-child(3) { animation-delay: .3s; }
@keyframes yc365svc-pulse { to { opacity: .25; transform: translateY(.2rem); } }

@media (max-width: 74rem) {
  .yc365svc-newest__rail { grid-template-columns: repeat(4, minmax(12rem, 1fr)); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
  .yc365svc-new-card { scroll-snap-align: start; }
  .yc365svc-grid { grid-template-columns: 1fr; }
}

@media (max-width: 60rem) {
  .yc365svc { padding-inline: var(--yc365p-space-4); }
  .yc365svc-search-panel { grid-template-columns: 1fr; }
  .yc365svc-search-panel__description { margin-top: 0; }
  .yc365svc-catalogue { grid-template-columns: 1fr; }
  .yc365svc-sidebar { grid-template-columns: 1fr 1fr; }
  .yc365svc-categories { grid-column: 1 / -1; }
  .yc365svc-categories > a { display: inline-grid; width: auto; margin: .25rem; border: 1px solid var(--yc365p-border); border-radius: var(--yc365p-radius-sm); }
  .yc365svc-ad--square,
  .yc365svc-ad--portrait { min-height: 8rem; }
}

@media (max-width: 40rem) {
  .yc365svc { padding: var(--yc365p-space-4) var(--yc365p-space-3) calc(var(--yc365p-mobile-dock-height) + var(--yc365p-space-8)); }
  .yc365svc-search-panel { min-height: 0; padding: var(--yc365p-space-5) var(--yc365p-space-4); }
  .yc365svc-search-panel h1 { font-size: 1.35rem; }
  .yc365svc-search-panel__description { font-size: .8rem; }
  .yc365svc-newest__rail { grid-template-columns: repeat(4, 72vw); gap: var(--yc365p-space-3); padding: var(--yc365p-space-4); }
  .yc365svc-section-heading { padding-inline: var(--yc365p-space-4); }
  .yc365svc-section-heading > span { margin-left: calc(var(--yc365p-space-4) * -1); }
  .yc365svc-section-heading > a span { display: none; }
  .yc365svc-ad-row,
  .yc365svc-sidebar { grid-template-columns: 1fr; gap: var(--yc365p-space-4); }
  .yc365svc-ad-row .yc365svc-ad + .yc365svc-ad,
  .yc365svc-sidebar > .yc365svc-ad--portrait { display: none; }
  .yc365svc-card { grid-template-columns: 7.75rem minmax(0, 1fr); }
  .yc365svc-card__media { min-height: 11rem; }
  .yc365svc-card__content { padding: var(--yc365p-space-3); }
  .yc365svc-card__description { -webkit-line-clamp: 3; }
  .yc365svc-card footer { align-items: flex-end; }
  .yc365svc-card footer ul { gap: var(--yc365p-space-2); }
}

@media (max-width: 23rem) {
  .yc365svc-card { grid-template-columns: 6.5rem minmax(0, 1fr); }
  .yc365svc-card footer { display: block; }
  .yc365svc-people { justify-content: flex-start; margin-top: var(--yc365p-space-2); }
}

@media (prefers-reduced-motion: reduce) {
  .yc365svc *, .yc365svc *::before, .yc365svc *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
