/* cpp_courtyard_tour.css — first-run guided tour v1.0.0 (LA COLOMBE PORT, Courtyard tokens)
   Independent of the main overlay; own kill switch (CPC_TOUR.ENABLED). */
.cpct-shade{position:fixed;background:rgba(30,30,36,.6);z-index:3000;pointer-events:none;transition:all .2s ease}
.cpct-ring{position:fixed;border:3px solid #9c7f36;border-radius:14px;z-index:3002;pointer-events:none;box-shadow:0 0 26px rgba(156,127,54,.5);transition:all .2s ease}
.cpct-card{position:fixed;z-index:3005;left:50%;transform:translateX(-50%);bottom:24px;width:min(540px,calc(100vw - 28px));background:#ffffff;border:1px solid #e3ddd0;border-top:3px solid #9c7f36;border-radius:14px;box-shadow:0 24px 70px rgba(30,30,36,.35);padding:18px 20px 15px;font-family:'Inter',system-ui,sans-serif;color:#1e1e24}
.cpct-step{font-size:10px;letter-spacing:.18em;color:#9c7f36;text-transform:uppercase;font-weight:700;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}
.cpct-card h4{font-family:'Inter',Helvetica,Arial,sans-serif;font-weight:500;font-size:19px;color:#1e1e24;margin:0 0 6px}
.cpct-card p{font-size:13.5px;line-height:1.55;color:#7a7468;margin:0 0 6px}
.cpct-card p b{color:#1e1e24}
.cpct-nav{display:flex;gap:9px;justify-content:space-between;align-items:center;margin-top:12px}
.cpct-nav .cpct-grp{display:flex;gap:9px}
.cpct-btn{border:none;border-radius:999px;font-weight:600;font-size:13px;padding:10px 20px;cursor:pointer;font-family:inherit;transition:.15s;text-decoration:none;display:inline-flex;align-items:center}
.cpct-btn.cpct-primary{background:#1e1e24;color:#fdfcf9}
.cpct-btn.cpct-primary:hover{background:#2f5bf9;color:#fff}
.cpct-btn.cpct-gold{background:#2f5bf9;color:#fff}
.cpct-btn.cpct-gold:hover{filter:brightness(1.12);color:#fff;text-decoration:none}
.cpct-btn.cpct-ghost{background:transparent;color:#7a7468;border:1.5px solid #e3ddd0}
.cpct-btn.cpct-ghost:hover{color:#1e1e24;border-color:#9c7f36}
.cpct-x{background:none;border:none;color:#7a7468;font-size:11.5px;cursor:pointer;letter-spacing:.08em}
.cpct-x:hover{color:#9c7f36}
/* launcher: pill first, collapses to circular ? after first interaction */
.cpct-launch{position:fixed;right:14px;bottom:14px;z-index:2900;display:inline-flex;align-items:center;gap:8px;background:#1e1e24;color:#fdfcf9;border:1.5px solid #9c7f36;border-radius:99px;padding:11px 18px;font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:13px;cursor:pointer;box-shadow:0 10px 30px rgba(30,30,36,.3);transition:.2s}
.cpct-launch:hover{background:#2f5bf9;transform:translateY(-2px)}
.cpct-launch .cpct-pulse{width:8px;height:8px;border-radius:50%;background:#9c7f36;animation:cpctPulse 1.8s infinite}
.cpct-launch.cpct-min{width:42px;height:42px;padding:0;justify-content:center;font-family:'Inter',Helvetica,Arial,sans-serif;font-size:19px;font-weight:500}
.cpct-launch.cpct-min .cpct-label,.cpct-launch.cpct-min .cpct-pulse{display:none}
@keyframes cpctPulse{0%,100%{opacity:1}50%{opacity:.35}}
.cpct-welcome{position:fixed;inset:0;z-index:3010;background:rgba(30,30,36,.62);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:18px}
.cpct-welcome .cpct-box{background:#f8f5ef;border:1px solid #e3ddd0;border-top:3px solid #9c7f36;border-radius:16px;max-width:540px;width:100%;padding:30px 30px 24px;text-align:center;font-family:'Inter',system-ui,sans-serif;box-shadow:0 30px 90px rgba(0,0,0,.4)}
.cpct-welcome .cpct-kicker{font-size:10px;letter-spacing:.2em;color:#9c7f36;text-transform:uppercase;font-weight:700;margin-bottom:9px}
.cpct-welcome h3{font-family:'Inter',Helvetica,Arial,sans-serif;font-weight:500;font-size:26px;color:#1e1e24;margin:0 0 10px}
.cpct-welcome p{font-size:13.5px;line-height:1.55;color:#7a7468;margin:0 0 8px;text-align:left}
.cpct-welcome .cpct-actions{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap}
@media(max-width:640px){.cpct-card{bottom:8px}}
@media (prefers-reduced-motion: reduce){.cpct-shade,.cpct-ring,.cpct-launch{transition:none !important}.cpct-launch .cpct-pulse{animation:none}}
