/* LOLITKY_HOME_TOP3_V1 - original, responsive homepage improvements.
 * Leaves existing site branding, ad scripts, filters and age confirmation in place.
 */
.lkt-home-search {color:var(--text); background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(16px,2.6vw,30px);margin:18px 0 20px;box-shadow:0 14px 36px rgba(0,0,0,.14)}
.lkt-home-search * {box-sizing:border-box}
.lkt-home-search-head {display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.lkt-home-search .lkt-eyebrow {color:var(--accent-strong);display:block;letter-spacing:.09em;text-transform:uppercase;font-size:.75rem;font-weight:700;margin:0 0 8px}
.lkt-home-search h2 {font-size:clamp(1.3rem,2.6vw,2.1rem);line-height:1.18;margin:0 0 8px;color:var(--text)}
.lkt-home-search p {margin:0;color:var(--muted);font-size:1rem}
.lkt-result-count {text-align:right;min-width:110px}
.lkt-result-count strong {display:block;font-size:1.7rem;line-height:1.15;color:var(--text);font-variant-numeric:tabular-nums}
.lkt-result-count small {font-size:.8rem;color:var(--muted)}
.lkt-search-form {display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.lkt-search-form label {display:block;min-width:0;color:var(--text);font-weight:650;font-size:.83rem}
.lkt-search-form label span {display:block;margin-bottom:7px}
.lkt-search-form input {display:block;width:100%;min-width:0;border-radius:10px;padding:12px 14px;height:48px;border:1px solid #9ab5be;background:var(--text);color:#10252f;font:inherit;font-weight:400}
.lkt-search-form button {min-height:48px;border:0;border-radius:10px;cursor:pointer;background:var(--accent);color:#ffffff;font-weight:750;font-size:1rem;padding:10px 22px;white-space:nowrap}
.lkt-search-form button:hover {background:var(--accent)}
.lkt-search-form :is(input,button):focus-visible,.lkt-city-nav a:focus-visible {outline:3px solid #e8c56f;outline-offset:3px}
.lkt-city-nav {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px}
.lkt-city-nav a {display:inline-flex;align-items:center;padding:8px 12px;border-radius:30px;border:1px solid var(--line);color:var(--text);background:rgba(255,255,255,.06);text-decoration:none;font-size:.9rem;line-height:1.2}
.lkt-city-nav a:hover {background:var(--surface-soft)}
/* Shorten an oversized decorative cover so the real listings appear sooner. */
.cover.sexy-cover {height:clamp(140px,19vw,240px);min-height:0;overflow:hidden}
.cover.sexy-cover picture,.cover.sexy-cover .cover-media {height:100%}
.cover.sexy-cover .cover-media {width:100%;object-fit:cover;object-position:50% 45%}
.lkt-top3-advanced {margin-block:16px 22px}
.lkt-top3-grid.ad-list {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.lkt-top3-grid .ad-card {min-width:0;display:flex;flex-direction:column;overflow:hidden;border-radius:14px}
.lkt-top3-grid .ad-card-media {display:block;aspect-ratio:4/5;overflow:hidden;flex:0 0 auto;max-height:360px}
.lkt-top3-grid .ad-card-media img {display:block;width:100%;height:100%;object-fit:cover}
.lkt-top3-grid .ad-card-body {flex:1 1 auto;display:flex;flex-direction:column;gap:6px}
.lkt-top3-grid .ad-card-body h3 {font-size:1.05rem;line-height:1.28;margin:4px 0;overflow-wrap:anywhere}
.lkt-top3-grid .ad-card-body h3 a {text-decoration:none}
.lkt-top3-grid .ad-card-body h3 a:hover {text-decoration:underline}
.lkt-top3-grid .ad-card-body p {line-height:1.42;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.lkt-top3-grid .ad-card-body .meta-line {flex-wrap:wrap}
@media(max-width:1150px){.lkt-top3-grid.ad-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.lkt-search-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lkt-search-form button{grid-column:1/-1}.lkt-top3-grid.ad-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.lkt-home-search{padding:16px;border-radius:13px}.lkt-search-form{grid-template-columns:minmax(0,1fr)}.lkt-search-form button{grid-column:1}.lkt-result-count{text-align:left}.lkt-city-nav a{font-size:.82rem;padding:7px 10px}.cover.sexy-cover{height:135px}.lkt-top3-grid.ad-list{gap:10px}.lkt-top3-grid .ad-card-body h3{font-size:.95rem}}
@media(max-width:360px){.lkt-top3-grid.ad-list{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.lkt-home-search *{scroll-behavior:auto;transition:none}}


/* LOLITKY_BANNER_ALIGN_V1_1_START | 17.10.2026
   Corrects old .cover's forced aspect ratio / fixed-height width shrink.
   Changes only visuals; no PHP / JS / SEO meta.
*/
.cover.sexy-cover {
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1647 / 402 !important;
  padding: 0 !important;
  margin: 0 0 14px;
  overflow: hidden;
  border-radius: 14px;
  line-height: 0;
}
.cover.sexy-cover picture {
  display: block;
  width: 100%;
  height: auto !important;
  position: static !important;
  line-height: 0;
}
.cover.sexy-cover .cover-media {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  position: static !important;
  inset: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  aspect-ratio: 1647 / 402;
  border-radius: inherit;
}
/* Intro copy lives in HTML for accessibility and does not cover baked-in banner CTA. */
.cover.sexy-cover > div {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
}
.brand-banners {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 1.2vw, 16px);
  width: 100%;
  max-width: 100%;
  margin: 0 0 18px;
  align-items: stretch;
}
.brand-banners > a {
  display: block;
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 980 / 220;
  overflow: hidden;
  border-radius: 12px;
}
.brand-banners > a > img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: contain !important;
  object-position: center;
}
/* Avoid the last navigation item being clipped at desktop browser zoom. */
@media (min-width: 901px) and (max-width: 1850px) {
  .site-header { max-width: 100%; gap: 8px; padding-inline: clamp(12px, 1.65vw, 28px); }
  .site-header .brand { flex-shrink: 0; }
  .site-header .brand-logo { width: clamp(132px, 9.5vw, 168px); }
  .site-header .main-nav { flex: 1 1 auto; min-width: 0; gap: 3px; flex-wrap: wrap; }
  .site-header .main-nav > a,
  .site-header .main-nav > .theme-toggle { padding-inline: clamp(5px, .45vw, 9px); font-size: clamp(12px, .78vw, 14px); }
}
@media (max-width: 900px) {
  .brand-banners { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 540px) {
  .cover.sexy-cover { margin-bottom: 12px; border-radius: 10px; }
  .brand-banners { gap: 12px; }
  .brand-banners > a { border-radius: 10px; }
}
/* LOLITKY_BANNER_ALIGN_V1_1_END */
