/* Canossa Collage */
.cv{width:100%;margin:10px 0 24px}
.cv *{box-sizing:border-box}
.cv-stage{position:relative;width:100%;aspect-ratio:3/2;background:linear-gradient(180deg,#ffffff 0%,#eaf4fd 45%,#cfe5f8 100%);border:1px solid #bcd9f2;overflow:hidden;border-radius:6px;user-select:none;-webkit-user-select:none}
.cv-d{position:absolute;left:0;top:0;width:960px;height:640px;transform-origin:0 0;color:#16304f;font-family:"Courier New",ui-monospace,monospace}
.cv-bc{position:absolute;left:60px;top:26px;font-size:10px;color:#5b7a9c}
.cv-bc span{cursor:pointer}.cv-bc span:hover{color:#1f3f6e;text-decoration:underline}
.cv-t{position:absolute;left:60px;top:46px;margin:0;font:400 50px/1.05 "Cormorant Garamond",Georgia,serif;color:#1f3f6e;width:640px}
.cv-c{position:absolute;top:170px;width:200px;font-size:10.5px;line-height:1.55;color:#2c4a6e}
.cv-m{position:absolute;left:730px;top:24px;width:190px;font-size:10px;line-height:1.7;color:#2c4a6e}
.cv-ic{display:flex;gap:6px;margin-bottom:10px}
.cv-ic button,.cv-b{background:none;border:1px solid #9cc4e6;color:#1f3f6e;background:rgba(255,255,255,.7);border-radius:4px;font:inherit;cursor:pointer;transition:.2s}
.cv-ic button{width:26px;height:24px;font-size:13px;line-height:1}
.cv-ic button.on{background:#1f3f6e;color:#fff;border-color:#1f3f6e}
.cv-ic button:hover,.cv-b:hover{border-color:#3b93d1;color:#3b93d1}
.cv-ic button.on:hover{color:#fff}
.cv-b{padding:3px 8px;font-size:10px;margin:6px 4px 0 0}
.cv-b.on{background:#1f3f6e;border-color:#1f3f6e;color:#fff}
.cv-i{position:absolute;left:0;top:0;transform-origin:0 0;cursor:grab;touch-action:none;outline:none;transition:transform .9s cubic-bezier(.65,0,.25,1),opacity .4s,filter .25s;filter:drop-shadow(0 10px 16px rgba(31,63,110,.35));will-change:transform}
.cv-i:hover,.cv-i:focus-visible{filter:drop-shadow(0 16px 24px rgba(31,63,110,.45)) brightness(1.04)}
.cv-i:focus-visible{outline:2px solid #3b93d1;outline-offset:3px}
.cv-i.drag{transition:filter .25s,opacity .4s;cursor:grabbing}
.cv-i.dim{opacity:.28}
.cv-slip{width:230px;height:170px;background:#bfe0f7;padding:14px 16px;color:#1f3f6e;font-size:10px;line-height:1.4}
.cv-slip b{display:block;font:700 15px Georgia,serif;text-align:center;margin-bottom:4px}
.cv-slip u{display:block;text-decoration:none;margin-top:8px;letter-spacing:.05em}
.cv-fold{width:190px;height:240px;background:#ffffff;border:1px solid #cfe3f5;border-radius:18px 4px 4px 4px;padding:46px 14px 0;font-size:9px;line-height:1.5;color:#2c4a6e;overflow:hidden}
.cv-seal{position:absolute;left:30px;bottom:-30px;width:80px;height:80px;border-radius:50%;border:4px double #3b93d1;background:#d9ecfb}
.cv-chart{width:260px;height:210px;background:#f7fbff;border-left:14px solid #8cc4ee;padding:12px 12px 0;font-size:9px;color:#1f3f6e}
.cv-ins{width:480px;height:300px}
.cv-ph{width:340px;height:250px;background:#ffffff;padding:12px 12px 0;border-radius:3px}
.cv-pv{width:100%;height:196px;background:linear-gradient(135deg,#9cc9ec,#3b6fa8);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font:700 13px Arial,sans-serif;padding:10px;overflow:hidden;pointer-events:none}
.cv-pv img{width:100%;height:100%;object-fit:cover;display:block}
.cv-pb{display:flex;align-items:center;justify-content:space-between;height:42px;font:11px Arial,sans-serif;color:#333}
.cv-pb button{width:26px;height:26px;border-radius:50%;border:1px solid #bbb;background:#fff;cursor:pointer;font-size:14px;line-height:1}
.cv-pb button:hover{background:#3b93d1;color:#fff;border-color:#3b93d1}
.cv-tip{position:absolute;left:0;top:0;width:210px;transform-origin:0 0;opacity:0;pointer-events:none;transition:transform .6s cubic-bezier(.65,0,.25,1),opacity .4s;z-index:1000}
.cv-tip.show{pointer-events:auto}
.cv-card{background:#1f3f6e;color:#fff;border-radius:12px;padding:14px;font-size:10.5px;line-height:1.5;min-height:150px}
.cv-card b{display:block;font:700 12px Arial,sans-serif;margin-bottom:8px}
.cv-row{display:flex;gap:6px;margin-top:8px}
.cv-y{flex:1;background:#ffd84a;color:#111;border:0;border-radius:20px;padding:9px 0;font:700 11px Arial,sans-serif;cursor:pointer;transition:transform .15s}
.cv-y:hover{transform:scale(1.04)}.cv-y:active{transform:scale(.96)}
.cv-r{width:36px;height:36px;border-radius:50%;background:#3b93d1;color:#fff;border:0;font:700 16px Arial;cursor:pointer}
.cv-heart{position:absolute;font-size:20px;color:#ff4d6d;pointer-events:none;z-index:1200;animation:cvUp 1.1s ease-out forwards}
@keyframes cvUp{to{transform:translateY(-110px) scale(1.4);opacity:0}}
.cv-ft{position:absolute;left:60px;bottom:12px;font-size:9px;color:#5b7a9c;z-index:5}
@media(prefers-reduced-motion:reduce){.cv-i,.cv-tip{transition:none}}
.cv h2.cv-t{margin:0;padding:0;border:0;letter-spacing:normal;text-transform:none;text-align:left}
.cv button{font-family:inherit;box-shadow:none;text-transform:none;letter-spacing:normal;margin-bottom:0}
.cv .cv-y,.cv .cv-r,.cv .cv-pb button{margin:0}
.cv svg{max-width:none}
.cv img{max-width:none;box-shadow:none;border-radius:0}
.cv p,.cv div{max-width:none}


/* v1.2: every card is a photo */
.cv-c{width:300px;font-size:11px}
.cv h2.cv-t{font-family:"Cormorant Garamond",Georgia,"Times New Roman",serif!important;font-size:42px!important;line-height:1.1!important;font-weight:400!important;text-transform:none!important;color:#1f3f6e!important;width:650px;top:42px}
.cv-c{top:165px}
.cv-hint{display:block;margin-top:8px;font-size:9px;color:#5b7a9c}
.cv-ph{width:260px;height:210px;padding:8px 8px 0}
.cv-pv{height:152px}
.cv-pb{height:50px;padding:0 2px;font:700 12px Arial,sans-serif;color:#1f3f6e;display:flex;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cv-pb b{display:block;overflow:hidden;text-overflow:ellipsis}

/* v1.3: text columns never overlap */
.cv-c{width:300px;max-height:128px;overflow:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:#9cc4e6 transparent}

/* v1.3: full width page (sidebar + duplicate title hidden) */
body.cc-full #secondary,body.cc-full .sidebar,body.cc-full .widget-area,body.cc-full aside#sidebar,body.cc-full #sidebar{display:none!important}
body.cc-full #primary,body.cc-full .content-area,body.cc-full #content-area,body.cc-full #main,body.cc-full .site-main,body.cc-full main{float:none!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
body.cc-full .entry-content,body.cc-full .post-content{width:100%!important;max-width:100%!important}

/* v1.4.2: no scroll bars; text shows in full */
.cv .cv-c{max-height:none!important;overflow:visible!important;padding-right:0!important}

/* v1.5: video-style layout */
.cv-nav{position:absolute;left:60px;right:60px;top:12px;height:24px;display:flex;align-items:center;gap:18px;font:10px Arial,sans-serif;color:#2c4a6e;border-bottom:1px solid rgba(31,63,110,.14)}
.cv-lg{position:absolute;left:50%;top:1px;transform:translateX(-50%);width:20px;height:20px;border:1.5px solid #1f3f6e;border-radius:50%;font:italic 12px Georgia,serif;text-align:center;line-height:17px;color:#1f3f6e}
.cv-nr{margin-left:auto;display:flex;gap:18px}
.cv-bc{top:50px!important}
.cv h2.cv-t{top:64px!important}
.cv-m{top:48px!important}
.cv-c{top:190px}
.cv-cur{position:absolute;left:0;top:0;width:20px;height:26px;z-index:1100;pointer-events:none;opacity:0;transition:transform .9s cubic-bezier(.65,0,.25,1),opacity .4s}
.cv-y.press{transform:scale(.93)!important;filter:brightness(.93)}
.cv-yr{display:block;margin-top:14px;font-style:normal;font-size:9px;opacity:.8}
.cv-tip{transition:transform .7s cubic-bezier(.65,0,.25,1),opacity .35s}
.cv-i{transition:transform 1.15s cubic-bezier(.65,0,.25,1),filter .25s}
.cv-i.drag{transition:filter .25s}
.cv-i.dim{opacity:1}

/* v1.5.1: easy-to-read fonts (no typewriter font, bigger, darker) */
.cv-d{font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important}
.cv-nav{font-size:12.5px;font-weight:600;color:#1f3f6e}
.cv-bc{font-size:12px;color:#4a6a8e}
.cv h2.cv-t{font-family:Georgia,"Times New Roman",serif!important;font-weight:700!important;font-size:38px!important;line-height:1.15!important;color:#1f3f6e!important}
.cv-c{font-size:13.5px;line-height:1.65;color:#1f3552;letter-spacing:0}
.cv-m{font-size:12.5px;line-height:1.8;color:#1f3552}
.cv-m .cv-tot{font-weight:700}
.cv-b{font-size:12px;padding:4px 10px;color:#1f3f6e}
.cv-ic button{font-size:14px}
.cv-hint{font-size:11px;color:#4a6a8e}
.cv-card{font-size:13px;line-height:1.55}
.cv-card b{font-size:15px;margin-bottom:6px}
.cv-yr{font-size:11px;opacity:.85}
.cv-y{font-size:13px}
.cv-pb{font-size:13px;font-weight:700}

/* v1.5.2: perfect round close button, immune to theme button styles */
.cv .cv-row{display:flex;align-items:center;gap:8px}
.cv .cv-r{flex:0 0 38px!important;width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:#3b93d1!important;display:flex!important;align-items:center;justify-content:center;line-height:1!important;font-size:0!important;box-shadow:none!important;cursor:pointer;transition:background .2s,transform .15s}
.cv .cv-r:hover{background:#2a7bb8!important;transform:scale(1.08)}
.cv .cv-r svg{display:block;width:14px;height:14px}
.cv .cv-y{height:38px;padding:0 14px!important;border-radius:20px!important;line-height:1!important;display:flex;align-items:center;justify-content:center;border:0!important}
