/* R15: full-frame video, native controls, and clear LINE fallback. */
.vendor-page .v15-media { min-width:0; padding:.5rem; border:1px solid #d6e3d5; border-radius:1.3rem; background:#fff; box-shadow:0 1rem 2.8rem #27463216; }
.vendor-page .v15-media-top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.5rem; padding:.5rem .55rem .8rem; color:#496144; font-size:.8rem; letter-spacing:.025em; }
.vendor-page .v15-media-top strong { display:inline-flex; align-items:center; gap:.45rem; color:#34533e; }
.vendor-page .v15-media-top strong::before { content:''; width:.5rem; height:.5rem; border-radius:50%; background:#b59858; }
.vendor-page .v15-media video { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#122b20; border-radius:.8rem; }
.vendor-page .v15-media-bar { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1rem; padding:1rem .55rem .55rem; }
html.star2-vendor-r12:root .vendor-page .v15-play { font:inherit; font-weight:750; color:#fff; background:#285c40; border:1px solid #285c40; border-radius:.65rem; padding:.55rem 1rem; min-height:2.75rem; cursor:pointer; }
.vendor-page .v15-play[hidden] { display:none!important; }
.vendor-page .v15-media-bar p { flex:1 1 10rem; font-size:.83rem; color:#60755c; }
.vendor-page .v15-media-bar a { display:inline-flex; align-items:center; min-height:2.75rem; font-size:.8rem; color:#476d50; text-decoration:underline; text-underline-offset:.2em; }
.vendor-page .v15-media figcaption { padding:.5rem .55rem .75rem; color:#45653e; font-size:.9rem; }
.vendor-page .v15-line-help { margin-top:1rem; padding:.1rem 1rem; background:#f9fcf5; border:1px solid #cbdcc7; border-radius:.8rem; }
.vendor-page .v15-line-help summary { padding:.8rem 0; cursor:pointer; font-weight:650; color:#3f6146; font-size:.9rem; }
.vendor-page .v15-line-help-content { display:grid; grid-template-columns:minmax(0,1fr) 9rem; align-items:center; gap:1rem; padding-bottom:1rem; }
.vendor-page .v15-line-help img { width:100%; max-width:9rem; height:auto; padding:.2rem; border-radius:.5rem; background:#fff; }
.vendor-page .v15-line-help label { display:block; font-size:.85rem; color:#4d6446; margin-bottom:.35rem; }
.vendor-page .v15-copy-input { width:100%; min-width:0; font:inherit; font-size:.85rem; padding:.65rem; border:1px solid #c8d8c3; border-radius:.6rem; background:#fff; color:#294e35; }
html.star2-vendor-r12:root .vendor-page .v15-copy-button { margin-top:.5rem; font:inherit; font-size:.85rem; font-weight:700; min-height:2.75rem; padding:.5rem .85rem; border-radius:.6rem; border:1px solid #a6c0a0; background:#fff; color:#2d5839; cursor:pointer; }
.vendor-page .v15-copy-status { min-height:1.7em; font-size:.8rem; color:#4c6946; }
@media(max-width:660px){ .vendor-page .v15-line-help-content { grid-template-columns:minmax(0,1fr); } .vendor-page .v15-line-help img { justify-self:center; } .vendor-page .v15-media { border-radius:1rem; padding:.35rem; } }
/* R16: invitation copy and contact card, scoped to supplier pages. */
.vendor-page[data-partner-build="R16"] { font-size:1.0625rem; line-height:1.85; }
.vendor-page .v16-welcome { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:clamp(1.5rem,4vw,3.5rem); align-items:start; }
.vendor-page .v16-welcome > * { min-width:0; }
.vendor-page .v16-letter { padding-block:.4rem; }
.vendor-page .v16-category-icon { display:grid; place-items:center; width:3.7rem; height:3.7rem; font-size:2rem; border:1px solid #d8e3cd; border-radius:1.1rem; background:#edf4e5; margin-bottom:1rem; }
.vendor-page .v16-letter h2 { max-width:24em; color:#244e38; }
.vendor-page .v16-letter > p { margin-top:1.1rem; color:#46624f; }
.vendor-page .v16-letter .v16-greeting { font-size:1.1em; font-weight:700; color:#31583d; margin-top:1.6rem; }
.vendor-page .v16-letter .v12-kicker { margin:0 0 .6rem; color:#837047; }
.vendor-page .v16-message-card { padding:clamp(1.1rem,2.4vw,1.7rem); margin-top:1.6rem; border:1px solid #dfdfcb; background:#f7f5ea; border-radius:1rem; }
.vendor-page .v16-message-card h3 { font-size:1.1rem; color:#35533a; line-height:1.65; }
.vendor-page .v16-message-card p { margin-top:.75rem; color:#51644d; }
.vendor-page .v16-message-card .v16-hint { font-size:.9rem; color:#64755c; }
.vendor-page .v16-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; padding:0; gap:.75rem; margin:1rem 0 0; }
.vendor-page .v16-fields li { display:flex; align-items:baseline; gap:.6rem; font-size:.95rem; min-width:0; }
.vendor-page .v16-fields span { color:#887346; font-size:.75rem; font-weight:800; flex-shrink:0; }
.vendor-page .v16-letter .v16-thanks { color:#446346; border-left:3px solid #b9cfa8; padding:.2rem 0 .2rem 1rem; margin-top:1.5rem; }
.vendor-page .v16-connect { background:white; border:1px solid #d5e2d1; padding:clamp(1.1rem,2.7vw,2rem); border-radius:1.3rem; box-shadow:0 12px 40px #2f4f2d0a; }
.vendor-page .v16-connect > h3 { font-size:1.35rem; color:#285238; line-height:1.5; }
.vendor-page .v16-connect > p { font-size:.95rem; color:#59705b; margin-top:.75rem; }
.vendor-page .v16-line-steps { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:.4rem 1rem; counter-reset:line-steps; font-size:.85rem; color:#486544; margin:1.2rem 0; }
.vendor-page .v16-line-steps li { display:flex; align-items:center; gap:.4rem; }
.vendor-page .v16-line-steps li::before { counter-increment:line-steps; content:counter(line-steps); display:inline-grid; place-items:center; width:1.4rem; height:1.4rem; border-radius:50%; background:#e9f3e2; font-weight:800; font-size:.75rem; flex-shrink:0; }
.vendor-page .v16-keyword { padding:1rem; background:#f5f8f0; border:1px solid #e1e9db; border-radius:.8rem; }
.vendor-page .v16-keyword label { display:block; font-size:.85rem; color:#54704c; margin-bottom:.4rem; }
.vendor-page .v16-keyword .v15-copy-input { font-size:1rem; padding:.65rem .5rem; color:#264f35; font-weight:650; }
.vendor-page .v16-keyword .v15-copy-status { min-height:0; font-size:.85rem; }
.vendor-page .v16-keyword .v15-copy-status:not(:empty) { margin-top:.6rem; }
html.star2-vendor-r12:root .vendor-page .v16-line-cta { display:flex; width:100%; margin-top:1rem; border-radius:.8rem; min-height:3.3rem; font-size:1rem; }
.vendor-page .v16-line-cta span:first-child { font-size:.72rem; border:1px solid #ffffff80; padding:.05rem .35rem; border-radius:.4rem; letter-spacing:.03em; }
.vendor-page .v16-connect .v16-send-note { color:#59705b; font-size:.85rem; line-height:1.75; margin-top:.6rem; }
.vendor-page .v16-qr { margin-top:1rem; padding:.3rem .8rem; border-radius:.8rem; border:1px solid #dce7d4; background:#fbfcf8; }
.vendor-page .v16-qr summary { cursor:pointer; padding:.6rem 0; color:#3b6042; font-size:.9rem; font-weight:700; }
.vendor-page .v16-qr img { display:block; width:min(100%,11rem); height:auto; margin:.6rem auto; border-radius:.6rem; }
.vendor-page .v16-qr p { text-align:center; font-size:.85rem; color:#5b7057; padding-bottom:.7rem; }
.vendor-page .v16-help-link { display:inline-flex; align-items:center; min-height:2.75rem; margin-top:.4rem; color:#3f684a; font-size:.85rem; text-decoration:underline; text-underline-offset:.2em; }
.vendor-page .v16-phone { border-top:1px solid #dbe6d5; padding-top:1.25rem; margin-top:1rem; }
.vendor-page .v16-phone h3 { font-size:.95rem; color:#436044; font-weight:650; line-height:1.7; }
.vendor-page .v16-phone a { display:flex; flex-direction:column; align-items:flex-start; gap:.1rem; margin-top:.8rem; padding:1rem; border-radius:.8rem; background:#234f38; color:#fff; }
.vendor-page .v16-phone small { color:#d6e7d2; font-size:.85rem; }
.vendor-page .v16-phone strong { font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem); line-height:1.5; letter-spacing:.035em; max-width:100%; overflow-wrap:anywhere; }
.vendor-page .v16-phone a > span { color:#d6e7d2; font-size:.8rem; }
.vendor-page .v16-media { width:100%; }
.vendor-page .v16-media figcaption { font-weight:650; }
@media(max-width:60rem) {
 .vendor-page .v16-welcome { grid-template-columns:minmax(0,1fr); }
 .vendor-page .v16-connect { width:100%; }
 .vendor-page .v16-media { max-width:48rem; margin-inline:auto; }
}
@media(max-width:36rem) {
 .vendor-page .v16-fields { grid-template-columns:minmax(0,1fr); }
 .vendor-page .v16-connect { border-radius:1rem; }
 .vendor-page .v16-keyword { padding:.75rem; }
 .vendor-page .v16-letter .v16-greeting { margin-top:1.15rem; }
 .vendor-page .v15-media-bar { align-items:stretch; }
 .vendor-page .v15-media-bar [data-video-play] { width:100%; }
}
