/* DAIVERTEX social contact v14 / fixed three-column responsive grid */
.social-contact-section{margin:0 0 20px;padding:15px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(180deg,#fff 0%,var(--surface) 100%)}
.social-contact-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.social-contact-title{margin:0;font-size:16px;line-height:1.2;font-weight:850}
.social-contact-note{color:var(--muted);font-size:11.5px;line-height:1.2;white-space:nowrap}
.social-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;width:100%;min-width:0;gap:9px}
.social-brand-fallback{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#eef3f8;color:#526173;font-size:13px;font-weight:900;text-transform:uppercase}
.social-contact-card{--social-accent:#667085;position:relative;display:flex;width:100%;height:104px;align-self:stretch;min-width:0;min-height:104px;max-height:104px;flex-direction:column;padding:9px 8px;border:1px solid #dfe5ee;border-radius:15px;background:#fff;box-shadow:0 4px 14px rgba(23,32,51,.045);text-decoration:none;color:var(--text);cursor:pointer;text-align:left;font:inherit;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;box-sizing:border-box;overflow:hidden}
.social-contact-card:hover{transform:translateY(-1px);border-color:#c9d4e2;box-shadow:0 7px 18px rgba(23,32,51,.07)}
.social-contact-card:active{transform:translateY(0)}
.social-contact-top{display:flex;align-items:center;gap:6px;min-width:0;width:100%;height:38px;flex:0 0 38px}
.social-contact-icon{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:10px;background:#fff;overflow:hidden}
.social-brand-logo{display:block;width:35px;height:35px;object-fit:cover;border-radius:10px}
.social-contact-platform{display:block;flex:1 1 auto;min-width:0;font-size:clamp(10.5px,2.85vw,13px);font-weight:850;line-height:1.08;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:clip}
.social-contact-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:auto;min-width:0;height:31px;min-height:31px;max-height:31px}
.social-contact-action{display:flex;align-items:center;min-width:0;height:27px;color:var(--muted);font-size:clamp(9.6px,2.55vw,11px);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.social-contact-qrmark{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;padding:0;border:1px solid #dbe3ec;border-radius:9px;background:#fff;color:#526173;cursor:pointer}
.social-contact-qrmark-placeholder{display:block;width:27px;height:27px;flex:0 0 27px;visibility:hidden;pointer-events:none}
.social-contact-qrmark svg{display:block;width:15px;height:15px}
.social-contact-card[data-platform="LINE"]{--social-accent:#06C755}
.social-contact-card[data-platform="Zalo"]{--social-accent:#0068FF}
.social-contact-card[data-platform="WeChat"]{--social-accent:#07C160}
.social-qr-sheet[hidden]{display:none}
.social-qr-sheet{position:fixed;inset:0;z-index:140;display:grid;place-items:end center;pointer-events:none}
.social-qr-sheet.show{pointer-events:auto}
.social-qr-backdrop{position:absolute;inset:0;border:0;background:rgba(7,18,34,.58);opacity:0;transition:opacity .18s ease}
.social-qr-sheet.show .social-qr-backdrop{opacity:1}
.social-qr-panel{position:relative;width:min(100%,480px);max-height:92vh;overflow:auto;background:#fff;border-radius:24px 24px 0 0;padding:20px 22px calc(22px + env(safe-area-inset-bottom));box-shadow:0 -18px 60px rgba(0,0,0,.22);transform:translateY(24px);opacity:0;transition:transform .18s ease,opacity .18s ease;color:#14243a}
.social-qr-sheet.show .social-qr-panel{transform:translateY(0);opacity:1}
.social-qr-close{position:absolute;right:13px;top:11px;width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:#536174;font-size:30px;line-height:1;cursor:pointer}
.social-qr-brand{display:flex;align-items:center;gap:10px;margin:0 48px 12px 0}
.social-qr-brand-logo{display:block;width:42px;height:42px;flex:0 0 42px;border-radius:12px;object-fit:cover}
.social-qr-brand h2{margin:0;font-size:22px;line-height:1.2}
.social-qr-image-wrap{display:block;width:min(78vw,330px);margin:10px auto 8px;padding:12px;border-radius:18px;background:#fff;border:1px solid #d8e1eb;box-shadow:0 10px 28px rgba(20,36,58,.10)}
.social-qr-image{display:block;width:100%;height:auto;border-radius:8px}
.social-qr-sheet[hidden]{display:none!important}
.social-qr-hint{position:absolute;left:50%;top:70px;z-index:3;transform:translate(-50%,-6px);padding:7px 13px;border-radius:999px;background:rgba(20,36,58,.92);color:#fff;font-size:13px;font-weight:800;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease}
.social-qr-hint.show{opacity:1;transform:translate(-50%,0)}
.social-preview-ribbon{display:none}
body[data-social-preview="true"] .social-preview-ribbon{display:block;margin:-4px 0 12px;padding:7px 10px;border-radius:10px;background:#fff5cc;color:#725900;font-size:11px;font-weight:750;text-align:center}
body[data-company-theme="apro"] .social-contact-card{box-shadow:0 4px 14px rgba(17,95,162,.045)}
@media(max-width:520px){.social-contact-section{margin-bottom:16px;padding:13px}.social-contact-grid{gap:8px}.social-contact-card{height:104px;min-height:104px;max-height:104px;padding:8px 7px}.social-contact-top{gap:5px}.social-contact-icon,.social-brand-logo{width:34px;height:34px;flex-basis:34px;border-radius:10px}.social-contact-platform{font-size:clamp(10.2px,2.9vw,12.5px)}.social-contact-note{display:none}}
@media(max-width:360px){.social-contact-grid{gap:6px}.social-contact-card{padding:8px 6px}.social-contact-icon,.social-brand-logo{width:30px;height:30px;flex-basis:30px}.social-contact-top{gap:4px}.social-contact-platform{font-size:10px;letter-spacing:-.3px}.social-contact-action{font-size:9.3px}.social-contact-qrmark,.social-contact-qrmark-placeholder{width:24px;height:24px;flex-basis:24px}.social-contact-qrmark svg{width:13px;height:13px}}
@media(min-width:561px){.social-qr-sheet{place-items:center}.social-qr-panel{border-radius:24px}}
@media(prefers-reduced-motion:reduce){.social-contact-card,.social-qr-backdrop,.social-qr-panel{transition:none!important}}

/* V15: 1/2/3 quick-contact centered grid */
.social-contact-grid[data-count="1"]{grid-template-columns:minmax(0,1fr);justify-items:center}.social-contact-grid[data-count="1"] .social-contact-card{width:min(100%,48%)}.social-contact-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:center}.social-contact-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:390px){.social-contact-grid[data-count="1"] .social-contact-card{width:min(100%,62%)}}

/* V16: fixed social-logo size for 1/2/3 layouts */
.social-contact-icon,.social-brand-logo{width:34px!important;height:34px!important;flex:0 0 34px!important}.social-brand-fallback{width:34px!important;height:34px!important}@media(max-width:360px){.social-contact-icon,.social-brand-logo{width:34px!important;height:34px!important;flex-basis:34px!important}.social-brand-fallback{width:34px!important;height:34px!important}}

/* V17: fixed quick-contact card size for 1/2/3 items */
.social-contact-grid{display:flex!important;flex-wrap:nowrap!important;justify-content:center!important;align-items:stretch!important;gap:8px!important;width:100%!important}.social-contact-card{flex:0 0 calc((100% - 16px)/3)!important;width:calc((100% - 16px)/3)!important;min-width:0!important;max-width:calc((100% - 16px)/3)!important;height:104px!important;min-height:104px!important;max-height:104px!important}.social-contact-grid[data-count="1"],.social-contact-grid[data-count="2"],.social-contact-grid[data-count="3"]{justify-content:center!important}.social-contact-grid[data-count="1"] .social-contact-card,.social-contact-grid[data-count="2"] .social-contact-card,.social-contact-grid[data-count="3"] .social-contact-card{width:calc((100% - 16px)/3)!important;max-width:calc((100% - 16px)/3)!important}.social-contact-platform{font-size:clamp(10px,2.7vw,12.5px)!important}.social-contact-action{font-size:clamp(9px,2.35vw,10.8px)!important;text-overflow:clip!important}@media(max-width:360px){.social-contact-grid{gap:6px!important}.social-contact-card,.social-contact-grid[data-count="1"] .social-contact-card,.social-contact-grid[data-count="2"] .social-contact-card,.social-contact-grid[data-count="3"] .social-contact-card{flex-basis:calc((100% - 12px)/3)!important;width:calc((100% - 12px)/3)!important;max-width:calc((100% - 12px)/3)!important}.social-contact-platform{font-size:9.7px!important}.social-contact-action{font-size:8.8px!important}}

/* V18: two-card equal outer/middle spacing with fixed card size */
body[data-company-theme="apro"] .social-contact-card,body[data-company-theme="xfusion"] .social-contact-card,body[data-company-theme="aof"] .social-contact-card{height:104px!important;min-height:104px!important;max-height:104px!important}
.social-contact-grid[data-count="2"]{display:grid!important;grid-template-columns:1fr calc((100% - 16px)/3) 1fr calc((100% - 16px)/3) 1fr!important;gap:0!important;align-items:stretch!important;width:100%!important}.social-contact-grid[data-count="2"] .social-contact-card{width:100%!important;max-width:100%!important;min-width:0!important;flex:none!important}.social-contact-grid[data-count="2"] .social-contact-card:nth-child(1){grid-column:2!important}.social-contact-grid[data-count="2"] .social-contact-card:nth-child(2){grid-column:4!important}@media(max-width:360px){.social-contact-grid[data-count="2"]{grid-template-columns:1fr calc((100% - 12px)/3) 1fr calc((100% - 12px)/3) 1fr!important}}
