/* =============================================================
   Landing pages ve vzhledu nové homepage (pages/landing_*.html).
   Staví na css/homepage.css (proměnné .nh, sekce, tlačítka, ceník),
   tady jsou jen bloky navíc pod prefixem .nhx-.
   Breakpointy stejné jako homepage: desktop ≥ 1024 px, mobil < 768 px.
   ============================================================= */

.nh .nhx-link { color: var(--nh-teal-dark); font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px; }
.nh .nhx-link:hover { color: var(--nh-orange-dark); }
.nh .nhx-link--light { color: var(--nh-teal-light); }
.nh .nhx-link--light:hover { color: #fff; }

/* ---------- co dostanete ---------- */
.nhx-perks { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; max-width: 1120px; margin: 0 auto; }
.nhx-perk { background: var(--nh-cream); border-radius: 20px; padding: 28px 26px 26px; }
.nhx-perk__ico { font-size: 30px; line-height: 1; margin-bottom: 16px; }
.nh .nhx-perk h3 { font: 700 18px/1.3 var(--nh-sans); color: var(--nh-navy); margin-bottom: 8px; }
.nhx-perk p { font: 400 15px var(--nh-sans); color: var(--nh-text-2); }

/* ---------- vánoční AI filtry ---------- */
.nhx-ai__grid { display: grid; grid-template-columns: 360px 1fr; gap: 34px; max-width: 1180px; margin: 0 auto; align-items: start; text-align: left; }
.nhx-ai__real { position: sticky; top: 96px; background: #fff; padding: 12px 12px 16px; border-radius: 6px; transform: rotate(-1.5deg); box-shadow: 0 24px 48px rgba(0,0,0,.45); }
.nhx-ai__real img { width: 100%; border-radius: 2px; }
.nhx-ai__real figcaption { font: 600 22px/1.25 var(--nh-hand); color: var(--nh-navy); margin-top: 12px; text-align: center; }
.nhx-ai__label { font: 600 12px var(--nh-sans); letter-spacing: 2px; text-transform: uppercase; color: var(--nh-teal); margin: 0 0 12px; }
.nhx-ai__tiles + .nhx-ai__label { margin-top: 30px; }
.nhx-ai__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.nhx-ai__tiles figure { position: relative; border-radius: 12px; overflow: hidden; background: rgba(255,255,255,.06); }
.nhx-ai__tiles img { width: 100%; aspect-ratio: 900 / 672; object-fit: cover; transition: transform .4s ease; }
.nhx-ai__tiles figure:hover img { transform: scale(1.04); }
.nhx-ai__tiles figcaption {
    position: absolute; left: 0; right: 0; bottom: 0;
    padding: 26px 12px 9px;
    font: 600 13px/1.3 var(--nh-sans); color: #fff;
    background: linear-gradient(to top, rgba(20,22,36,.85), transparent);
}
.nhx-ai__foot { max-width: 760px; margin: 46px auto 0; }
.nhx-ai__foot p { font: 400 16px var(--nh-sans); color: rgba(255,255,255,.75); }
.nhx-ai__foot b { color: #fff; }
.nhx-ai__actions { display: flex; justify-content: center; align-items: center; gap: 26px; flex-wrap: wrap; margin-top: 24px; }
.nhx-ai__actions .nhx-link { font-size: 15px; }

/* ---------- pozadí a rekvizity ---------- */
.nhx-props__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; max-width: 1180px; margin: 0 auto; }
.nhx-props__grid figure { background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 2px 14px rgba(35,39,65,.06); }
.nhx-props__grid img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.nhx-props__grid figcaption { font: 700 14px var(--nh-sans); letter-spacing: .6px; text-transform: uppercase; color: var(--nh-teal-dark); padding: 14px 18px 16px; }
.nhx-props__note { text-align: center; font: 600 24px/1.3 var(--nh-hand); color: var(--nh-text-2); margin: 26px 0 28px !important; }

/* ---------- vánoční nástěnka + galerie ---------- */
.nhx-wall__split { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; max-width: 1100px; margin: 0 auto; align-items: center; }
.nhx-wall__img img { width: 100%; border-radius: 18px; box-shadow: 0 18px 44px rgba(35,39,65,.18); }
.nhx-wall__text p { font: 400 17px var(--nh-sans); color: var(--nh-text-2); margin-bottom: 28px !important; }
.nhx-wall__cta { padding: 16px 34px; }
.nhx-galleries { padding: 76px 0 0; }

/* ---------- recenze ---------- */
.nhx-refs .nh-h2 { margin-bottom: 36px; }
.nhx-refs .nh-review { cursor: default; }
.nhx-refs .nh-ratings { margin-bottom: 46px; }

/* ---------- ceník ---------- */
.nh-price__value small { font: 500 16px var(--nh-sans); color: var(--nh-text-3); }

/* ---------- poptávka ---------- */
.nhx-order { background: var(--nh-cream); padding: 76px 32px 84px; scroll-margin-top: 70px; }
.nhx-order__grid { display: grid; grid-template-columns: 1fr 560px; gap: 56px; max-width: 1140px; margin: 0 auto; align-items: start; }
.nhx-order__text { padding-top: 24px; }
.nhx-order__lead { font: 400 17px var(--nh-sans); color: var(--nh-text-2); margin-bottom: 34px !important; }
.nhx-order__contact { font: 500 15px var(--nh-sans); color: var(--nh-navy); }
.nhx-order__contact a { font-weight: 700; }
.nhx-order__contact a:hover { color: var(--nh-orange); }
.nhx-order__form { background: #fff; border-radius: 24px; box-shadow: 0 18px 50px rgba(35,39,65,.1); }
.nhx-order__form .sb-lead__wrap { padding: 36px 34px 38px; }
.nhx-order__form .sb-lead .sb-sub { font-size: 15.5px; margin-bottom: 26px; }

@media (max-width: 1099px) {
    .nhx-ai__grid { grid-template-columns: 280px 1fr; gap: 26px; }
    .nhx-order__grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}

@media (max-width: 1023px) {
    .nhx-perks { grid-template-columns: repeat(2, 1fr); }
    .nhx-ai__grid { grid-template-columns: 1fr; }
    .nhx-ai__real { position: relative; top: 0; max-width: 420px; margin: 0 auto 10px; }
    .nhx-wall__split { gap: 36px; }
    .nhx-order__grid { grid-template-columns: 1fr; }
    .nhx-order__text { padding-top: 0; }
}

@media (max-width: 767px) {
    .nhx-perks { grid-template-columns: 1fr; gap: 14px; }
    .nhx-perk { display: grid; grid-template-columns: 40px 1fr; column-gap: 14px; padding: 20px 20px 20px 18px; }
    .nhx-perk__ico { font-size: 26px; margin: 2px 0 0; grid-row: span 2; }
    .nh .nhx-perk h3 { font-size: 16px; margin-bottom: 4px; }
    .nhx-perk p { font-size: 14px; }

    .nhx-ai { padding-left: 16px; padding-right: 16px; }
    .nhx-ai__real { max-width: 300px; padding: 9px 9px 12px; }
    .nhx-ai__real figcaption { font-size: 19px; margin-top: 8px; }
    .nhx-ai__tiles { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .nhx-ai__tiles figcaption { font-size: 12px; padding: 22px 9px 7px; }
    .nhx-ai__foot { margin-top: 34px; }
    .nhx-ai__foot p { font-size: 15px; }

    /* pozadí: vodorovný karusel jako galerie na homepage */
    .nhx-props { padding-left: 0; padding-right: 0; }
    .nhx-props .nh-sec__head { padding: 0 20px; }
    .nhx-props__grid { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding: 4px 20px 16px; }
    .nhx-props__grid figure { flex: none; width: 78%; scroll-snap-align: center; }
    .nhx-props__note { font-size: 21px; padding: 0 20px; margin: 16px 0 22px !important; }

    .nhx-wall { padding-left: 0; padding-right: 0; }
    .nhx-wall__split { grid-template-columns: 1fr; gap: 26px; padding: 0 20px; }
    .nhx-wall__text { text-align: center; }
    .nhx-wall__text p { font-size: 15px; margin-bottom: 22px !important; }
    .nhx-galleries { padding-top: 56px; }

    .nhx-order { padding: 56px 16px 60px; }
    .nhx-order__text { text-align: center; }
    .nhx-order__lead { font-size: 15px; margin-bottom: 26px !important; }
    .nhx-order .nh-cta__steps { text-align: left; margin-bottom: 26px !important; }
    .nhx-order__form { border-radius: 20px; }
    .nhx-order__form .sb-lead__wrap { padding: 28px 18px 30px; }
}

/* termíny „zbývá 1× Smilebox" u formuláře */
.nhx-dates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: -6px 0 34px; }
.nh .nhx-date {
    display: flex; flex-direction: column; gap: 4px; text-align: left; cursor: pointer;
    background: #fff; border: 1.5px solid var(--nh-border); border-radius: 14px; padding: 14px 16px;
    transition: border-color .15s ease, transform .15s ease;
}
.nh .nhx-date:hover { border-color: var(--nh-orange); transform: translateY(-1px); }
.nhx-date b { font: 700 18px var(--nh-sans); color: var(--nh-navy); }
.nhx-date span { font: 700 11.5px var(--nh-sans); letter-spacing: 1px; text-transform: uppercase; color: var(--nh-orange-dark); }
@media (max-width: 767px) {
    .nhx-dates { gap: 8px; margin: -4px 0 26px; }
    .nh .nhx-date { padding: 11px 10px; text-align: center; align-items: center; }
    .nhx-date b { font-size: 15px; }
    .nhx-date span { font-size: 10px; letter-spacing: .5px; }
}
