/* /factory-visit – factory visit booking landing (reuses .bp-* partner styles for formats, steps, kit and form) */

/* ---------- why visit ---------- */
.fv-why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fv-why__card{padding:28px 26px;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);transition:transform .4s var(--ease),box-shadow .4s}
.fv-why__card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.fv-why__ic{display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:var(--navy);color:var(--gold-l);margin-bottom:16px}
.fv-why__ic .ic{width:24px;height:24px}
.fv-why__card h3{font-size:var(--g-card);margin:0 0 8px;color:var(--navy)}
.fv-why__card p{font-size:.96rem;margin:0}

/* ---------- tour stops ---------- */
.fv-stops{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:2}
.fv-stop{border-radius:var(--r-lg);overflow:hidden;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;transition:transform .4s var(--ease),border-color .4s}
.fv-stop:hover{transform:translateY(-4px);border-color:rgba(231,196,106,.45)}
.fv-stop__img{position:relative;aspect-ratio:16/10;overflow:hidden}
.fv-stop__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease)}
.fv-stop:hover .fv-stop__img img{transform:scale(1.05)}
.fv-stop__n{position:absolute;left:14px;top:14px;display:grid;place-items:center;min-width:46px;height:46px;padding:0 8px;border-radius:8px;background:var(--red);color:#fff;font:700 1.35rem/1 var(--f-head);box-shadow:0 8px 20px -6px rgba(0,0,0,.5)}
.fv-stop__body{padding:20px 22px 24px}
.fv-stop__body h3{font-size:var(--g-card);margin:0 0 6px;color:#fff}
.sec--dark .fv-stop__body p{margin:0;font-size:.95rem;color:#C3CEDC}

/* ---------- formats ---------- */
.fv-formats__ic{display:grid;place-items:center;width:52px;height:52px;border-radius:12px;background:var(--tint);color:var(--red);margin-bottom:14px}
.fv-formats__ic .ic{width:26px;height:26px}
.fv-formats .bp-model--hi .fv-formats__ic{background:var(--red);color:#fff}

/* ---------- steps: 4 columns ---------- */
.fv-steps{grid-template-columns:repeat(4,1fr)}
.fv-steps.bp-steps::before{right:calc((100% - 60px)/4 - 28px)}

/* ---------- getting here strip ---------- */
.fv-trip{background:var(--navy-d);color:#fff;border-top:3px solid var(--red);padding:38px 0}
.fv-trip__in{display:grid;grid-template-columns:1.2fr 1.4fr auto;gap:36px;align-items:center}
.fv-trip__txt h2{font-size:var(--g-sub,1.6rem);margin:0 0 6px;color:#fff}
.fv-trip__txt p{margin:0;color:#B7C3D3;font-size:.96rem}
.fv-trip__legs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.fv-trip__legs li{display:flex;flex-direction:column;gap:4px;padding:4px 18px;border-left:1px solid rgba(255,255,255,.12)}
.fv-trip__legs .ic{width:22px;height:22px;color:var(--gold-l);margin-bottom:4px}
.fv-trip__legs b{font:700 1.7rem/1 var(--f-head);color:var(--gold-l)}
.fv-trip__legs small{font-size:.85rem;color:#B7C3D3}
.fv-trip__btn{white-space:nowrap}

/* ---------- form ---------- */
.fv-book .qform__grid .fset{grid-column:auto;margin:0}
.fv-book .fset[hidden]{display:none}
.fv-pickup legend{margin-bottom:8px}

@media (max-width:1100px){.fv-why,.fv-stops{grid-template-columns:repeat(2,1fr)}.fv-steps{grid-template-columns:repeat(2,1fr)}.fv-trip__in{grid-template-columns:1fr 1fr}.fv-trip__btn{grid-column:1/-1;justify-self:start}}
@media (max-width:760px){.fv-trip__in{grid-template-columns:1fr;gap:22px}.fv-trip__legs li{padding:4px 12px}.fv-trip__legs li:first-child{border-left:0;padding-left:0}}
@media (max-width:640px){.fv-why,.fv-stops{grid-template-columns:1fr;gap:14px}.fv-steps{grid-template-columns:1fr}.fv-why__card{padding:22px 20px}.fv-trip__legs b{font-size:1.35rem}}
