/* Avid Client Previews 1.0.0, luxury light showcase matching the Avid Soshiant theme */

.acp-showcase{max-width:1180px;margin:0 auto;padding:10px 0 40px;font-family:'Manrope',system-ui,sans-serif}
.acp-head{margin-bottom:52px}
.acp-eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:.68rem;letter-spacing:.4em;text-transform:uppercase;color:#0071e3;margin-bottom:24px}
.acp-eyebrow::before{content:"";width:34px;height:1px;background:#0071e3;opacity:.6}
.acp-title{font-family:'Marcellus',Georgia,serif;font-weight:400;line-height:1.14;font-size:clamp(1.9rem,4vw,2.9rem);color:#1d1d1f;margin:0 0 18px}
.acp-lead{color:#515154;font-weight:300;font-size:1.04rem;max-width:640px;margin:0}
.acp-empty{color:#86868b;font-weight:300;border:1px dashed rgba(0,0,0,.2);padding:40px;text-align:center}
.acp-adminnote{color:#9a7736;font-size:.82rem;letter-spacing:.02em;margin:0 0 22px;padding:10px 14px;border:1px solid rgba(154,119,54,.35);background:rgba(154,119,54,.06)}
.acp-card-code{margin-top:6px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.06em;color:#9a7736}

/* -------------------------------------------- access-code gate */
.acp-gate{display:flex;justify-content:center;padding:20px 0 30px}
.acp-gate-card{width:100%;max-width:460px;text-align:center;background:#f5f5f7;border:1px solid rgba(0,0,0,.13);padding:44px 36px 40px;position:relative;overflow:hidden}
.acp-gate-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#0071e3,transparent)}
.acp-lock-ic{width:56px;height:56px;margin:0 auto 22px;border:1px solid rgba(0,113,227,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(0,113,227,.06)}
.acp-lock-ic span{position:relative;display:block;width:17px;height:13px;background:#0071e3;border-radius:2px;margin-top:7px}
.acp-lock-ic span::before{content:"";position:absolute;left:50%;top:-9px;transform:translateX(-50%);width:11px;height:11px;border:2px solid #0071e3;border-bottom:none;border-radius:11px 11px 0 0}
.acp-gate-title{font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:1.5rem;color:#1d1d1f;margin:0 0 8px}
.acp-gate-sub{color:#515154;font-weight:300;font-size:.95rem;margin:0 0 26px}
.acp-gate-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.acp-code-input{flex:1;min-width:190px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1rem;letter-spacing:.14em;text-align:center;padding:14px 16px;border:1px solid rgba(0,0,0,.2);background:#fff;color:#1d1d1f;border-radius:2px;transition:.25s}
.acp-code-input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.14)}
.acp-code-input.is-shake{animation:acpShake .4s}
@keyframes acpShake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.acp-gate-btn{font-family:'Manrope',system-ui,sans-serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:#fff;background:#0060c8;border:1px solid #0060c8;padding:14px 26px;border-radius:2px;cursor:pointer;transition:.3s}
.acp-gate-btn:hover{background:#0071e3;box-shadow:0 10px 26px rgba(0,113,227,.26)}
.acp-gate-form.is-busy .acp-gate-btn{opacity:.6;pointer-events:none}
.acp-gate-msg{min-height:1.2em;margin:16px 0 0;color:#c94747;font-size:.86rem;opacity:0;transition:opacity .25s}
.acp-gate-msg.is-on{opacity:1}

.acp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
@media(max-width:1024px){.acp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.acp-grid{grid-template-columns:1fr}}

.acp-card{position:relative;display:flex;flex-direction:column;text-align:left;background:#f5f5f7;border:1px solid rgba(0,0,0,.13);padding:0;cursor:pointer;font-family:inherit;transition:.4s cubic-bezier(.22,.61,.2,1);overflow:hidden}
.acp-card::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#0071e3,transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.22,.61,.2,1);z-index:2}
.acp-card:hover{transform:translateY(-6px);border-color:rgba(0,113,227,.45);box-shadow:0 18px 44px rgba(0,0,0,.10)}
.acp-card:hover::before{transform:scaleX(1)}
.acp-thumb{display:block;aspect-ratio:16/10;background-size:cover;background-position:top center;border-bottom:1px solid rgba(0,0,0,.10);filter:saturate(.96);transition:.5s}
.acp-card:hover .acp-thumb{filter:saturate(1.05)}
.acp-mono{display:flex;align-items:center;justify-content:center;background:radial-gradient(420px 220px at 75% 0%,rgba(0,113,227,.10),transparent 60%),#eef2f7}
.acp-mono b{font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:3rem;letter-spacing:.18em;margin-left:.18em;color:#0060c8}
.acp-card-body{display:flex;flex-direction:column;gap:8px;padding:24px 24px 22px}
.acp-status{align-self:flex-start;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;padding:5px 12px;border:1px solid rgba(154,119,54,.45);color:#9a7736;margin-bottom:6px}
.acp-status-review{border-color:rgba(0,113,227,.5);color:#0071e3}
.acp-status-live{border-color:rgba(30,142,90,.5);color:#1e8e5a}
.acp-card-name{font-family:'Marcellus',Georgia,serif;font-size:1.24rem;color:#1d1d1f}
.acp-card-tag{color:#515154;font-weight:300;font-size:.88rem}
.acp-card-open{margin-top:14px;display:inline-flex;align-items:center;gap:9px;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:#0071e3;font-weight:600}
.acp-card-open::before{content:"";width:0;height:0;border-style:solid;border-width:5px 0 5px 8px;border-color:transparent transparent transparent #0071e3;transition:transform .3s}
.acp-card:hover .acp-card-open::before{transform:translateX(3px)}

/* -------------------------------------------- viewing room (full-screen takeover) */

.acp-room{position:fixed;inset:0;z-index:2147483000;display:none;flex-direction:column;background:#0c0e10}
.acp-room.is-open{display:flex}
/* while open, hide the host site header so nothing bleeds through */
body.acp-lock{overflow:hidden}
body.acp-lock .site-header,
body.acp-lock header.site-header,
body.acp-lock #masthead{display:none!important}

.acp-window{position:relative;width:100%;height:100%;display:flex;flex-direction:column;opacity:0;transform:scale(.992);transition:.4s cubic-bezier(.22,.61,.2,1)}
.acp-room.is-open .acp-window{opacity:1;transform:none}

.acp-chrome{display:flex;align-items:center;gap:14px;padding:11px 18px;background:#ffffff;border-bottom:1px solid rgba(0,0,0,.10);flex:none;flex-wrap:wrap;box-shadow:0 2px 14px rgba(0,0,0,.10);z-index:2}
.acp-dots{display:inline-flex;gap:7px;flex:none}
.acp-dots i{width:11px;height:11px;border-radius:50%;background:#e8b4b0}
.acp-dots i:nth-child(2){background:#e6d3a3}
.acp-dots i:nth-child(3){background:#b5d4bb}
.acp-win-title{font-family:'Marcellus',Georgia,serif;font-size:.98rem;color:#1d1d1f;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:26%}
.acp-tools{margin-left:auto;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.acp-tool{font-family:'Manrope',system-ui,sans-serif;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:#515154;background:transparent;border:1px solid rgba(0,0,0,.15);padding:8px 14px;border-radius:2px;cursor:pointer;text-decoration:none;transition:.3s;line-height:1}
.acp-tool:hover{border-color:#0071e3;color:#1d1d1f}
.acp-tool.is-on{background:rgba(0,113,227,.09);border-color:rgba(0,113,227,.55);color:#0060c8}
.acp-tool.acp-x{background:#0060c8;border-color:#0060c8;color:#fff}
.acp-tool.acp-x:hover{background:#c94747;border-color:#c94747;color:#fff}
.acp-sep{width:1px;height:18px;background:rgba(0,0,0,.12)}
.acp-stage{flex:1;min-height:0;display:flex;align-items:stretch;justify-content:center;background:radial-gradient(1000px 460px at 50% 0%,rgba(0,113,227,.06),transparent 60%),#e9edf2;padding:0;overflow:auto}
.acp-device{position:relative;width:100%;height:100%;background:#ffffff;transition:width .45s cubic-bezier(.22,.61,.2,1),margin .45s cubic-bezier(.22,.61,.2,1);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.acp-device.is-tablet{width:834px;max-width:100%;margin:24px 0;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.acp-device.is-phone{width:400px;max-width:100%;margin:24px 0;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.acp-device iframe{width:100%;height:100%;border:none;display:block;background:#fff}
.acp-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0c0e10;z-index:2;transition:opacity .5s;pointer-events:none}
.acp-loading.is-done{opacity:0}
.acp-loading span{width:38px;height:38px;border:2px solid rgba(255,255,255,.16);border-top-color:#0071e3;border-radius:50%;animation:acpSpin .9s linear infinite}
@keyframes acpSpin{to{transform:rotate(360deg)}}
.acp-toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(10px);background:#1d1d1f;color:#fff;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:12px 22px;border-radius:2px;opacity:0;transition:.4s;z-index:2147483001;pointer-events:none}
.acp-toast.is-on{opacity:1;transform:translateX(-50%)}
@media(max-width:760px){.acp-win-title{display:none}.acp-tools{margin-left:0;justify-content:center;width:100%}}
@media(prefers-reduced-motion:reduce){.acp-card,.acp-window,.acp-device{transition:none!important}.acp-loading span{animation-duration:2s}}
