/* ========================================================================
   Kotihelppari Child v6
   Scoped presentation layer for ExpertHive + HivePress.
   ======================================================================== */
:root {
    --kh-green:#08745f;
    --kh-green-dark:#075e4e;
    --kh-green-soft:#eaf5f1;
    --kh-gold:#f5b51b;
    --kh-cream:#fff7ec;
    --kh-cream-2:#fbf0e2;
    --kh-text:#17202d;
    --kh-muted:#707886;
    --kh-border:#e5e9e7;
    --kh-white:#fff;
    --kh-radius:14px;
    --kh-shadow:0 10px 32px rgba(22,45,39,.08);
}

.kotihelppari-v6 { color:var(--kh-text); }
.kotihelppari-v6 .site-container { background:#fff; }

/* ExpertHive decoration: remove dots, not content. */
.kotihelppari-v6 .header-hero::before,
.kotihelppari-v6 .header-hero::after,
.kotihelppari-v6 .site-content::before,
.kotihelppari-v6 .site-content::after { background-image:none !important; }

/* Header ---------------------------------------------------------------- */
.kotihelppari-v6 .site-header { background:#fff; }
.kotihelppari-v6 .header-navbar { min-height:76px; border-bottom:1px solid rgba(23,32,45,.06); }
.kotihelppari-v6 .header-navbar__menu > ul > li > a { color:var(--kh-text); font-weight:500; }
.kotihelppari-v6 .header-navbar__menu > ul > li.current-menu-item > a,
.kotihelppari-v6 .header-navbar__menu > ul > li > a:hover { color:var(--kh-green); }
.kotihelppari-v6 .button,
.kotihelppari-v6 button,
.kotihelppari-v6 input[type="submit"] { border-radius:10px; }
.kotihelppari-v6 .button--primary { background:var(--kh-green); border-color:var(--kh-green); }
.kotihelppari-v6 .button--primary:hover { background:var(--kh-green-dark); border-color:var(--kh-green-dark); }

/* Homepage hero --------------------------------------------------------- */
.kotihelppari-home .site-content { padding-top:0; }
.kh-home-hero { background:linear-gradient(90deg,var(--kh-cream) 0%,var(--kh-cream-2) 100%); }
.kh-home-hero__inner { display:grid; grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); gap:50px; align-items:center; padding-top:52px; padding-bottom:52px; }
.kh-home-hero__eyebrow { color:var(--kh-green); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; margin-bottom:16px; }
.kh-home-hero__eyebrow span { display:inline-grid; place-items:center; width:19px; height:19px; margin-right:7px; border:1px solid currentColor; border-radius:50%; }
.kh-home-hero h1 { margin:0 0 17px; max-width:600px; color:var(--kh-text); font-size:clamp(2.7rem,4.7vw,4.8rem); line-height:.98; letter-spacing:-.045em; }
.kh-home-hero__copy > p { max-width:590px; margin:0 0 23px; color:var(--kh-muted); font-size:1.04rem; line-height:1.65; }
.kh-home-hero__search .hp-form { margin:0; }
.kh-home-hero__search .hp-form__fields { border:1px solid var(--kh-border); border-radius:12px; background:#fff; box-shadow:var(--kh-shadow); overflow:hidden; }
.kh-home-hero__search input { border:0 !important; box-shadow:none !important; }
.kh-home-hero__actions { display:flex; gap:11px; margin-top:15px; }
.kh-button-outline { background:#fff !important; border:1px solid var(--kh-green) !important; color:var(--kh-green-dark) !important; }
.kh-home-hero__trust { display:flex; flex-wrap:wrap; gap:24px; margin-top:24px; }
.kh-home-hero__trust > div { display:flex; align-items:center; gap:9px; }
.kh-home-hero__trust span:last-child { display:flex; flex-direction:column; }
.kh-home-hero__trust strong { font-size:11px; line-height:1.2; }
.kh-home-hero__trust small { margin-top:2px; color:var(--kh-muted); font-size:9px; }
.kh-trust-icon { display:grid; place-items:center; width:26px; height:26px; color:var(--kh-green); border:1px solid rgba(8,116,95,.22); border-radius:8px; font-size:12px; }
.kh-home-hero__visual { position:relative; min-height:420px; }
.kh-home-hero__visual > img { width:100%; height:420px; object-fit:cover; display:block; border-radius:20px; }
.kh-home-hero__placeholder { display:grid; place-items:center; height:420px; border-radius:20px; background:var(--kh-green-soft); color:var(--kh-green); }
.kh-home-choice { position:absolute; bottom:20px; display:grid; grid-template-columns:1fr auto; min-width:225px; padding:17px 18px; border-radius:12px; box-shadow:var(--kh-shadow); text-decoration:none !important; }
.kh-home-choice strong,.kh-home-choice small { grid-column:1; }
.kh-home-choice strong { font-size:14px; }
.kh-home-choice small { margin-top:3px; font-size:10px; opacity:.8; }
.kh-home-choice > span { grid-column:2; grid-row:1/3; align-self:center; font-size:20px; }
.kh-home-choice--help { left:-18px; background:var(--kh-green); color:#fff !important; }
.kh-home-choice--offer { right:-18px; background:#fff4d9; color:var(--kh-text) !important; }

/* Existing front page body --------------------------------------------- */
.kotihelppari-home .page__text { padding-top:54px; }
.kotihelppari-home .page__text > * { margin-bottom:4.2rem; }
.kotihelppari-home .page__text h2 { margin-bottom:9px; color:var(--kh-text); font-size:30px; letter-spacing:-.025em; }
.kotihelppari-home .hp-listing-category--view-block,
.kotihelppari-home .hp-vendor--view-block,
.kotihelppari-home .hp-testimonial--view-block,
.kotihelppari-home article.post { border:1px solid var(--kh-border); border-radius:13px; background:#fff; box-shadow:0 7px 24px rgba(23,32,45,.045); }
.kotihelppari-home .hp-listing-category--view-block { min-height:165px; padding:24px 20px; }

/* Listings page shell --------------------------------------------------- */
.kotihelppari-v6 .hp-template--listings-view-page .hp-page__header { margin-bottom:30px; }
.kotihelppari-v6 .hp-template--listings-view-page .hp-form--listing-search { padding:7px 9px; border:1px solid var(--kh-border); border-radius:12px; background:#fff; box-shadow:var(--kh-shadow); }
.kotihelppari-v6 .hp-template--listings-view-page .hp-form--listing-search input { border:0; box-shadow:none; }
.kotihelppari-v6 .hp-template--listings-view-page .hp-page__sidebar { padding-right:18px; }
.kotihelppari-v6 .hp-template--listings-view-page .hp-widget--listing-filter { padding:22px; border:1px solid var(--kh-border); border-radius:12px; background:#fff; box-shadow:0 7px 24px rgba(23,32,45,.045); }
.kotihelppari-v6 .hp-template--listings-view-page .hp-page__topbar { margin-bottom:18px; }

/* IMPORTANT: do not replace HivePress's row/column system here. The
   listings block is set to columns=2 via the official template hook. */
.kotihelppari-v6 .hp-template--listings-view-page .hp-listings .hp-grid__item,
.kotihelppari-v6 .hp-template--listings-favorite-page .hp-listings .hp-grid__item { margin-bottom:28px; }

/* TaskHive-style service card ------------------------------------------ */
.kotihelppari-v6 .hp-listing--view-block {
    position:relative;
    height:100%;
    overflow:visible;
    border:1px solid rgba(245,181,27,.72);
    border-radius:12px;
    background:#fff;
    box-shadow:0 10px 28px rgba(23,32,45,.06);
}
.kotihelppari-v6 .hp-listing--view-block:hover { box-shadow:0 15px 38px rgba(23,32,45,.1); transform:translateY(-1px); }
.kotihelppari-v6 .hp-listing--view-block .hp-listing__header { position:relative; height:auto; min-height:0; margin:0; padding:0; border:0; }
.kotihelppari-v6 .hp-listing--view-block .kh-listing-card__media { width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:11px 11px 0 0; background:#f3f4f4; }
.kotihelppari-v6 .hp-listing--view-block .kh-listing-card__media a { display:block; width:100%; height:100%; }
.kotihelppari-v6 .hp-listing--view-block .kh-listing-card__media img { display:block; width:100%; height:100%; object-fit:cover; }
.kotihelppari-v6 .hp-listing--view-block .hp-listing__featured-badge { z-index:5; top:14px; left:0; right:auto; width:38px; height:38px; border-radius:0 9px 9px 0; background:var(--kh-gold); color:#fff; }

.kotihelppari-v6 .hp-listing--view-block .hp-listing__content { position:relative; display:flex; flex-direction:column; min-height:205px; padding:50px 23px 21px !important; }
.kh-provider-strip { position:absolute; z-index:4; top:-34px; left:20px; right:20px; min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 13px; border-radius:10px; background:#fff; box-shadow:0 10px 25px rgba(23,32,45,.10); }
.kh-provider-strip__person { min-width:0; display:flex; align-items:center; gap:10px; }
.kh-provider-strip__avatar { flex:0 0 41px; width:41px; height:41px; overflow:hidden; border-radius:50%; }
.kh-provider-strip__avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.kh-provider-strip__identity { min-width:0; display:flex; flex-direction:column; }
.kh-provider-strip__name { max-width:165px; overflow:hidden; color:var(--kh-text) !important; font-size:13px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.kh-provider-strip__location { margin-top:1px; color:var(--kh-muted); font-size:10px; }
.kh-provider-strip__rating { flex:0 0 auto; display:grid; grid-template-columns:auto auto; align-items:center; gap:0 5px; color:var(--kh-gold); font-size:12px; }
.kh-provider-strip__star { display:grid; place-items:center; width:29px; height:29px; grid-row:1/3; border:2px solid var(--kh-gold); border-radius:50%; font-size:12px; }
.kh-provider-strip__rating small { grid-column:2; color:var(--kh-muted); font-size:9px; }

.kotihelppari-v6 .hp-listing--view-block .hp-listing__title { margin:0 0 16px !important; color:var(--kh-text); font-size:20px; font-weight:500; line-height:1.35; }
.kotihelppari-v6 .hp-listing--view-block .hp-listing__title a { color:inherit; }
/* Category/vendor metadata supplied by ExpertHive is not needed inside the card body. */
.kotihelppari-v6 .hp-listing--view-block .hp-listing__details--primary { display:none !important; }
.kotihelppari-v6 .hp-listing--view-block .hp-listing__attributes--secondary,
.kotihelppari-v6 .hp-listing--view-block .hp-listing__attributes--ternary { margin-top:auto; color:var(--kh-muted); }
.kotihelppari-v6 .hp-listing--view-block .hp-listing__attributes--secondary .hp-listing__attribute,
.kotihelppari-v6 .hp-listing--view-block .hp-listing__attributes--ternary .hp-listing__attribute { font-size:11px; }
.kotihelppari-v6 .hp-listing--view-block .hp-listing__attributes--secondary i,
.kotihelppari-v6 .hp-listing--view-block .hp-listing__attributes--ternary i { color:var(--kh-green); }

.kotihelppari-v6 .hp-listing--view-block .hp-listing__footer { min-height:64px; margin:0 !important; padding:16px 23px !important; border-top:1px solid var(--kh-border); display:flex !important; align-items:center !important; justify-content:space-between !important; }
.kotihelppari-v6 .hp-listing--view-block .hp-listing__attributes--primary { margin:0 !important; }
.kotihelppari-v6 .hp-listing--view-block .hp-listing__attributes--primary .hp-listing__attribute { color:var(--kh-green-dark); font-size:18px; font-weight:700; }
.kotihelppari-v6 .hp-listing--view-block .hp-listing__actions--primary { color:#bcc4ce; }
.kotihelppari-v6 .hp-listing--view-block .hp-listing__actions--primary a:hover { color:var(--kh-green); }

/* Pagination */
.kotihelppari-v6 .pagination .page-numbers.current { background:var(--kh-green); border-color:var(--kh-green); color:#fff; }

/* Footer stays intentionally light. */
.kotihelppari-v6 .site-footer { background:#fff !important; color:var(--kh-text) !important; border-top:1px solid var(--kh-border); }
.kotihelppari-v6 .site-footer a { color:var(--kh-muted); }
.kotihelppari-v6 .site-footer a:hover { color:var(--kh-green); }

/* Tablet --------------------------------------------------------------- */
@media (min-width:768px) and (max-width:1199px) {
    .kh-home-hero__inner { grid-template-columns:1fr 1fr; gap:28px; }
    .kh-home-hero__visual,
    .kh-home-hero__visual > img,
    .kh-home-hero__placeholder { min-height:360px; height:360px; }
    .kh-home-choice { min-width:190px; padding:14px; }
    .kotihelppari-v6 .hp-listing--view-block .hp-listing__title { font-size:17px; }
    .kh-provider-strip { left:14px; right:14px; }
}

/* Mobile --------------------------------------------------------------- */
@media (max-width:767px) {
    .kotihelppari-v6 .header-navbar { min-height:64px; }
    .kh-home-hero__inner { grid-template-columns:1fr; gap:28px; padding-top:30px; padding-bottom:34px; }
    .kh-home-hero h1 { font-size:2.7rem; }
    .kh-home-hero__actions { display:grid; grid-template-columns:1fr 1fr; }
    .kh-home-hero__trust { display:grid; grid-template-columns:1fr; gap:12px; }
    .kh-home-hero__visual,
    .kh-home-hero__visual > img,
    .kh-home-hero__placeholder { min-height:330px; height:330px; }
    .kh-home-choice { bottom:10px; min-width:0; width:calc(50% - 14px); padding:13px 11px; }
    .kh-home-choice--help { left:8px; }
    .kh-home-choice--offer { right:8px; }
    .kh-home-choice small { display:none; }

    .kotihelppari-v6 .hp-template--listings-view-page .hp-page__sidebar { padding-right:0; }
    .kotihelppari-v6 .hp-listing--view-block .hp-listing__content { min-height:190px; padding:49px 18px 18px !important; }
    .kotihelppari-v6 .hp-listing--view-block .hp-listing__title { font-size:18px; }
    .kotihelppari-v6 .hp-listing--view-block .hp-listing__footer { padding:15px 18px !important; }
    .kh-provider-strip { left:14px; right:14px; }
}
