/* ==========================================================================
   Velvinci footer
   Copied from the approved design (velvinci-footer.html v3 = the first footer of
   the original mockup, 28 Sep 2026). Every size and colour is the approved value.
   ========================================================================== */

.vv-footer {
	--serif: "Cormorant Garamond", Garamond, Georgia, serif;
	--sans: "Inter", "Helvetica Neue", Arial, sans-serif;
	font-family: var(--sans);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
/* Reset: keep Kadence global styles off the footer */
.vv-footer *, .vv-footer *::before, .vv-footer *::after { box-sizing: border-box; }
.vv-footer h2, .vv-footer h3 { margin: 0; font-weight: 500; text-wrap: balance; line-height: inherit; letter-spacing: normal; }
.vv-footer p { margin: 0; }
.vv-footer ul { margin: 0; padding: 0; list-style: none; }
.vv-footer li { margin: 0; }
.vv-footer button { font: inherit; cursor: pointer; box-shadow: none; min-height: 0; }
.vv-footer input[type="email"] { box-shadow: none; height: auto; }
.vv-footer .wrap { max-width: 1290px; margin-inline: auto; padding-inline: clamp(16px, 4vw, 48px); }
.vv-footer [hidden] { display: none !important; }
.vv-footer :focus-visible { outline: 2px solid #C9A96A; outline-offset: 3px; }
.vv-footer .ft-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.vv-footer .ft-msg.is-ok { color: #E9E6E1; font-size: 14px; }
.vv-footer .ft-msg.is-ok b { color: #C9A96A; letter-spacing: 0.06em; font-weight: 600; }
.vv-footer .ft-msg.is-error { color: #E7A08F; }
.vv-footer .ft-field button[disabled] { opacity: 0.6; cursor: wait; }
/* Kadence's own footer colour settings target #colophon; the approved black wins. */
#colophon.vv-footer { background: #111111 !important; color: #E9E6E1; }

/* ---------- approved footer ---------- */
.vv-footer.ft{background:#111111;color:#E9E6E1;font-size:14.5px;overflow:hidden;position:relative}
.vv-footer.ft a{color:inherit;text-decoration:none}
.vv-footer.ft a:hover{color:#FFFFFF}
.vv-footer .ft-eyebrow{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:#C9A96A;margin-bottom:10px}
.vv-footer .ft-news{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,80px);align-items:end;padding-block:72px 56px;border-bottom:1px solid #262626}
.vv-footer .ft-news h2{font-family:var(--serif);font-weight:500;color:#FFFFFF;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.12;max-width:20ch}
.vv-footer .ft-field{display:flex;border-bottom:1px solid #5A5A5A}
.vv-footer .ft-field:focus-within{border-color:#FFFFFF}
.vv-footer .ft-field input{flex:1;min-width:0;background:transparent;border:0;color:#FFFFFF;font:inherit;font-size:16px;padding:16px 0;outline:none}
.vv-footer .ft-field input::placeholder{color:#8C8984}
.vv-footer .ft-field button{background:#FFFFFF;color:#111111;border:0;font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:0 26px;margin:6px 0;border-radius:2px}
.vv-footer .ft-field button:hover{background:#E5E1DA}
.vv-footer .ft-msg{display:block;color:#8C8984;font-size:12.5px;margin-top:12px}
.vv-footer .ft-trust{list-style:none;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #262626;padding-block:0}
.vv-footer .ft-trust li{display:flex;gap:12px;align-items:flex-start;padding:28px 18px 28px 0;font-size:13px;color:#9A968F;line-height:1.45}
.vv-footer .ft-trust li + li{padding-left:18px;border-left:1px solid #262626}
.vv-footer .ft-trust b{display:block;color:#FFFFFF;font-weight:500;font-size:14px}
.vv-footer .ft-trust svg{width:22px;height:22px;stroke:#C9A96A;fill:none;stroke-width:1.4;flex:none;margin-top:1px}
.vv-footer .ft-cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-block:56px 40px}
.vv-footer .ft-h{font-family:var(--sans);font-size:11.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#C9A96A;margin:0 0 18px}
.vv-footer .ft-h button{all:unset;cursor:default}
.vv-footer .ft-body{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.vv-footer .ft-body li a{position:relative}
.vv-footer .ft-body li a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:#FFFFFF;transition:width .25s}
.vv-footer .ft-body li a:hover::after{width:100%}
.vv-footer .ft-about p{color:#9A968F;max-width:36ch;line-height:1.65}
.vv-footer .ft-contact{display:flex;gap:12px;font-size:14px;color:#E9E6E1!important}
.vv-footer .ft-contact span{width:74px;flex:none;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#77736D;padding-top:3px}
.vv-footer .ft-social{display:flex;gap:10px;margin-top:8px}
.vv-footer .ft-social a{width:38px;height:38px;border:1px solid #333;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .2s}
.vv-footer .ft-social a:hover{border-color:#FFFFFF}
.vv-footer .ft-social svg{width:17px;height:17px;stroke:#E9E6E1;fill:none;stroke-width:1.5}
.vv-footer .ft-word{font-family:var(--serif);font-weight:500;font-size:clamp(3.4rem,17vw,15rem);letter-spacing:.14em;line-height:.8;text-align:center;color:#1C1C1C;user-select:none;white-space:nowrap;padding-inline:8px;margin-top:8px}
.vv-footer .ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-block:26px 30px;border-top:1px solid #262626;font-size:12.5px;color:#8C8984}
.vv-footer .ft-legal{display:grid;gap:6px}
.vv-footer .ft-links{display:flex;flex-wrap:wrap;gap:6px 18px}
.vv-footer .ft-links a{color:#B9B5AE}
.vv-footer .ft-pay{display:grid;gap:8px;justify-items:end}
.vv-footer .ft-region{font-size:12px;letter-spacing:.06em}
.vv-footer .ft-cards{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.vv-footer .ft-cards span{background:#FFFFFF;color:#111111;border-radius:3px;padding:4px 8px;font-size:10.5px;font-weight:700;letter-spacing:.02em}
@media (max-width:900px){
.vv-footer .ft-news{grid-template-columns:1fr;padding-block:52px 40px;gap:24px}
.vv-footer .ft-trust{grid-template-columns:1fr 1fr}
.vv-footer .ft-trust li:nth-child(3){border-left:0;padding-left:0}
.vv-footer .ft-trust li:nth-child(n+3){border-top:1px solid #262626}
.vv-footer .ft-cols{grid-template-columns:1fr;gap:0;padding-block:28px 20px}
.vv-footer .ft-about{padding-bottom:28px;border-bottom:1px solid #262626}
.vv-footer .ft-about .ft-h{margin-top:0}
.vv-footer .ft-col:not(.ft-about) .ft-h{margin:0;border-bottom:1px solid #262626}
.vv-footer .ft-col:not(.ft-about) .ft-h button{all:unset;cursor:pointer;display:flex;justify-content:space-between;width:100%;padding:20px 0;font-size:12px;letter-spacing:.18em;color:#FFFFFF}
.vv-footer .ft-col:not(.ft-about) .ft-h button::after{content:"+";font-size:18px;line-height:1;color:#C9A96A}
.vv-footer .ft-col.open .ft-h button::after{content:"–"}
.vv-footer .ft-col:not(.ft-about) .ft-body{display:none;padding:16px 0 22px}
.vv-footer .ft-col.open .ft-body{display:grid}
.vv-footer .ft-bottom{flex-direction:column;align-items:flex-start}
.vv-footer .ft-pay{justify-items:start}
.vv-footer .ft-cards{justify-content:flex-start}

}
@media (max-width:520px){
.vv-footer .ft-trust{grid-template-columns:1fr}
.vv-footer .ft-trust li,.vv-footer .ft-trust li + li{border-left:0;padding-left:0}
.vv-footer .ft-trust li + li{border-top:1px solid #262626}
}
