/* MatSoft 2.0 collection — isolated fictional demos only, never applied to public vCards. */
.pv-page.pv-collection-v2-preview{font-family:PVSans,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.pv-collection-v2-preview .pv-shell{box-shadow:0 28px 90px #18292216;overflow:clip}
.pv-collection-v2-preview .pv-primary{min-height:54px;font-weight:700;letter-spacing:.01em}
.pv-collection-v2-preview .pv-tools button{min-height:44px}
.pv-collection-v2-preview .pv-content h2{font-family:PVDisplay,Georgia,serif;font-size:clamp(27px,4vw,40px);font-weight:400;letter-spacing:-.035em}
.pv-collection-v2-preview .pv-resources a,.pv-collection-v2-preview .pv-resources button{min-height:60px}
/* Executive Prestige: warm paper, portrait-led asymmetric signature. */
.pv-firma.pv-collection-v2-preview{--pv-canvas:#eeeae1;--pv-surface:#faf8f3;--pv-soft:#f0ece4;--pv-ink:#223833;--pv-line:#d9d5cb;background:#eeeae1}
.pv-firma.pv-collection-v2-preview .pv-shell{max-width:910px;background:#faf8f3}
.pv-firma.pv-collection-v2-preview .pv-letterhead{padding:28px clamp(24px,5vw,52px);background:#203b37;color:#faf2e2;min-height:86px}
.pv-firma.pv-collection-v2-preview .pv-letterhead>div{min-width:0}
.pv-firma.pv-collection-v2-preview .pv-letterhead .pv-card-label{font-size:10px;letter-spacing:.16em;color:#dedacb}
.pv-firma.pv-collection-v2-preview .pv-signature-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);gap:clamp(24px,5vw,56px);padding:clamp(24px,5vw,58px);align-items:center}
.pv-firma.pv-collection-v2-preview .pv-signature-portrait{margin:0;align-self:stretch;min-height:420px;border-radius:12px;overflow:hidden;background:#c8bdb0}
.pv-firma.pv-collection-v2-preview .pv-signature-portrait .pv-photo-trigger{height:100%}
.pv-firma.pv-collection-v2-preview .pv-signature-portrait .pv-portrait{height:100%;min-height:420px;border-radius:0;object-fit:cover}
.pv-firma.pv-collection-v2-preview .pv-identity h1{font-size:clamp(45px,5vw,75px);letter-spacing:-.055em;line-height:1.04;color:#203a35;text-wrap:balance}
.pv-firma.pv-collection-v2-preview .pv-role{font-size:16px;color:#51675e}
.pv-firma.pv-collection-v2-preview .pv-actions{display:grid;gap:12px;margin-top:28px}
.pv-firma.pv-collection-v2-preview .pv-primary{border-radius:7px;background:#1e453c!important;color:#fff!important;border-color:#1e453c!important}
.pv-firma.pv-collection-v2-preview .pv-direct{display:flex;gap:10px}
.pv-firma.pv-collection-v2-preview .pv-direct>a,.pv-firma.pv-collection-v2-preview .pv-direct>button{width:48px;height:48px;min-height:48px;border-radius:50%;border:1px solid #d2d3c9;background:#f0ede7}
.pv-firma.pv-collection-v2-preview .pv-socials{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.pv-firma.pv-collection-v2-preview .pv-social{border-radius:50%;background:#ebe8e0}
.pv-firma.pv-collection-v2-preview .pv-content{padding:clamp(24px,5vw,50px)}
/* Corporate Identity: distinctive institutional identity and confident CTAs. */
.pv-corporativa.pv-collection-v2-preview{--pv-dark:#19342f;--pv-deep:#112924;--pv-dark-raised:#28473e;--pv-dark-line:#466057;background:#112924;color:#fff}
.pv-corporativa.pv-collection-v2-preview .pv-shell{max-width:940px;background:#19342f}
.pv-corporativa.pv-collection-v2-preview .pv-corporate-head{padding:clamp(25px,5vw,45px);background:#112924;border-bottom:1px solid #486153}
.pv-corporativa.pv-collection-v2-preview .pv-corporate-logo{max-width:115px;max-height:62px;border-radius:7px}
.pv-corporativa.pv-collection-v2-preview .pv-corporate-hero{grid-template-columns:1fr;gap:25px;padding:clamp(28px,5vw,55px)}
.pv-corporativa.pv-collection-v2-preview .pv-corporate-person{gap:clamp(18px,4vw,37px)}
.pv-corporativa.pv-collection-v2-preview .pv-corporate-portrait{width:clamp(102px,20vw,180px)}
.pv-corporativa.pv-collection-v2-preview .pv-corporate-portrait .pv-portrait{height:clamp(128px,25vw,210px);border-radius:12px;object-fit:cover}
.pv-corporativa.pv-collection-v2-preview .pv-identity h1{font-family:PVDisplay,Georgia,serif;font-size:clamp(38px,7vw,69px);font-weight:400;letter-spacing:-.055em;line-height:1.08;text-wrap:balance}
.pv-corporativa.pv-collection-v2-preview .pv-role{color:#d5e2d7;font-size:16px}
.pv-corporativa.pv-collection-v2-preview .pv-actions{display:grid;gap:13px}
.pv-corporativa.pv-collection-v2-preview .pv-primary{background:#e6d8b7!important;border:1px solid #e6d8b7!important;color:#1c332c!important;border-radius:8px}
.pv-corporativa.pv-collection-v2-preview .pv-direct{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pv-corporativa.pv-collection-v2-preview .pv-direct>a,.pv-corporativa.pv-collection-v2-preview .pv-direct>button{min-height:53px;border:1px solid #5d7568;border-radius:8px;color:#fff!important;background:#2b483e!important}
.pv-corporativa.pv-collection-v2-preview .pv-corporate-channels{padding:0 clamp(28px,5vw,55px) 28px}
.pv-corporativa.pv-collection-v2-preview .pv-social{border-radius:50%}
.pv-corporativa.pv-collection-v2-preview .pv-content{padding:clamp(24px,5vw,48px)}
/* Essential Luxe: whitespace, soft surfaces, clearer contact and elegant typography. */
.pv-esencial.pv-collection-v2-preview{--pv-canvas:#ebe9e2;--pv-surface:#fffdfa;--pv-soft:#f2eee6;--pv-line:#dfddd5;--pv-ink:#1c3733;background:#ebe9e2}
.pv-esencial.pv-collection-v2-preview .pv-shell{max-width:560px;background:#fffdfa;border:1px solid #e4dfd5;border-radius:24px;margin:25px auto;min-height:calc(100svh - 50px)}
.pv-esencial.pv-collection-v2-preview .pv-essential-hero{padding:52px clamp(21px,5vw,47px) 29px;background:linear-gradient(180deg,#e9eee6,#fffdfa 52%)}
.pv-esencial.pv-collection-v2-preview .pv-essential-logo{max-width:115px;max-height:51px;margin-bottom:27px}
.pv-esencial.pv-collection-v2-preview .pv-essential-portrait{width:132px;height:142px;margin-bottom:25px;border-radius:50%;border:5px solid #fff;box-shadow:0 12px 38px #213e3726}
.pv-esencial.pv-collection-v2-preview .pv-essential-portrait .pv-portrait{object-fit:cover}
.pv-esencial.pv-collection-v2-preview .pv-identity h1{font-family:PVDisplay,Georgia,serif;font-weight:400;font-size:clamp(38px,7vw,53px);letter-spacing:-.05em;color:#1c3833;line-height:1.07}
.pv-esencial.pv-collection-v2-preview .pv-role{font-size:15px;color:#4e6660}
.pv-esencial.pv-collection-v2-preview .pv-actions{margin-top:26px}
.pv-esencial.pv-collection-v2-preview .pv-primary{border-radius:9px;background:#1c4439!important;border-color:#1c4439!important;color:#fff!important}
.pv-esencial.pv-collection-v2-preview .pv-direct{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.pv-esencial.pv-collection-v2-preview .pv-direct>a,.pv-esencial.pv-collection-v2-preview .pv-direct>button{min-height:63px;border:1px solid #dfded4;background:#f4f3ed!important;color:#29433d!important;border-radius:9px}
.pv-esencial.pv-collection-v2-preview .pv-content{padding:23px clamp(22px,5vw,42px) 22px}
.pv-collection-v2-preview .pv-gallery-track>button{border-radius:11px}
.pv-collection-v2-preview .pv-gallery-track img{object-fit:cover}
@media(max-width:640px){
 .pv-firma.pv-collection-v2-preview .pv-signature-hero{display:flex;flex-direction:column;align-items:stretch;padding:22px;gap:21px}
 .pv-firma.pv-collection-v2-preview .pv-signature-portrait{min-height:0;height:320px}
 .pv-firma.pv-collection-v2-preview .pv-signature-portrait .pv-portrait{min-height:0;height:320px}
 .pv-firma.pv-collection-v2-preview .pv-identity h1{font-size:clamp(40px,11vw,57px)}
 .pv-corporativa.pv-collection-v2-preview .pv-corporate-head{padding:22px}
 .pv-corporativa.pv-collection-v2-preview .pv-corporate-hero{padding:27px 22px}
 .pv-corporativa.pv-collection-v2-preview .pv-corporate-person{flex-wrap:wrap}
 .pv-corporativa.pv-collection-v2-preview .pv-corporate-portrait{width:110px}
 .pv-corporativa.pv-collection-v2-preview .pv-identity h1{font-size:clamp(36px,10vw,55px)}
 .pv-corporativa.pv-collection-v2-preview .pv-corporate-channels{padding:0 22px 25px}
 .pv-esencial.pv-collection-v2-preview .pv-shell{width:100%;margin:0;border:0;border-radius:0;min-height:100svh}
}
@media(prefers-reduced-motion:reduce){.pv-collection-v2-preview *, .pv-collection-v2-preview *::before,.pv-collection-v2-preview *::after{animation:none!important;transition:none!important}}

/* V2 media contract: brand, personal portrait and banner never share an image slot. */
.pv-collection-v2-preview .pv-letterhead img,.pv-collection-v2-preview .pv-corporate-logo,
.pv-collection-v2-preview .pv-essential-logo{width:auto;height:auto;max-width:160px;max-height:65px;object-fit:contain}
.pv-firma.pv-collection-v2-preview .pv-letterhead>div,
.pv-corporativa.pv-collection-v2-preview .pv-corporate-head>div{flex-wrap:wrap;min-width:0;max-width:100%}
.pv-firma.pv-collection-v2-preview .pv-signature-portrait,
.pv-corporativa.pv-collection-v2-preview .pv-corporate-portrait,
.pv-esencial.pv-collection-v2-preview .pv-essential-portrait{flex-shrink:0;isolation:isolate;overflow:hidden}
.pv-firma.pv-collection-v2-preview .pv-signature-portrait .pv-photo-trigger,
.pv-corporativa.pv-collection-v2-preview .pv-corporate-portrait .pv-photo-trigger,
.pv-esencial.pv-collection-v2-preview .pv-essential-portrait .pv-photo-trigger{width:100%;height:100%;overflow:hidden}
.pv-firma.pv-collection-v2-preview .pv-signature-portrait .pv-portrait,
.pv-corporativa.pv-collection-v2-preview .pv-corporate-portrait .pv-portrait,
.pv-esencial.pv-collection-v2-preview .pv-essential-portrait .pv-portrait{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.pv-collection-v2-preview .pv-brand-image{display:block;max-width:100%;overflow:hidden;margin-block:20px}
.pv-collection-v2-preview .pv-brand-image img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;object-position:center}

/* Four-style V2 identity contract — always derive from the uploaded logo.
   MatSoft blue/teal remains fallback when a logo is absent. */
.pv-collection-v2-preview{
    --v2-brand-deep:color-mix(in srgb,var(--pv-brand) 32%,#101a1d);
    --v2-brand-deeper:color-mix(in srgb,var(--pv-brand) 20%,#0b1214);
    --v2-brand-raised:color-mix(in srgb,var(--pv-brand) 32%,#252d2e);
    --v2-brand-soft:color-mix(in srgb,var(--pv-brand) 8%,#f8f7f2);
    --v2-brand-surface:color-mix(in srgb,var(--pv-brand) 3%,#fffefa);
    --v2-brand-line:color-mix(in srgb,var(--pv-brand) 18%,#d9d9d4);
}
.pv-firma.pv-collection-v2-preview,.pv-esencial.pv-collection-v2-preview{
    --pv-canvas:var(--v2-brand-soft);
    --pv-surface:var(--v2-brand-surface);
    --pv-soft:var(--v2-brand-soft);
    --pv-line:var(--v2-brand-line);
}
.pv-firma.pv-collection-v2-preview .pv-shell,
.pv-esencial.pv-collection-v2-preview .pv-shell,
.pv-esencial.pv-collection-v2-preview .pv-essential-hero{
    background:var(--v2-brand-surface);
}
.pv-firma.pv-collection-v2-preview .pv-letterhead{
    background:var(--v2-brand-deep);
}
.pv-firma.pv-collection-v2-preview .pv-primary,
.pv-esencial.pv-collection-v2-preview .pv-primary{
    background:var(--pv-brand)!important;
    border-color:var(--pv-brand)!important;
    color:var(--pv-brand-ink)!important;
}
.pv-firma.pv-collection-v2-preview .pv-direct>a,
.pv-firma.pv-collection-v2-preview .pv-direct>button,
.pv-esencial.pv-collection-v2-preview .pv-direct>a,
.pv-esencial.pv-collection-v2-preview .pv-direct>button{
    background:var(--v2-brand-soft)!important;
    border-color:var(--v2-brand-line)!important;
    color:#243730!important;
}
.pv-firma.pv-collection-v2-preview .pv-content,
.pv-esencial.pv-collection-v2-preview .pv-content{background:var(--v2-brand-surface)}
.pv-firma.pv-collection-v2-preview .pv-identity h1,
.pv-esencial.pv-collection-v2-preview .pv-identity h1{color:#1b302c}
.pv-corporativa.pv-collection-v2-preview{
    --pv-deep:var(--v2-brand-deeper);
    --pv-dark:var(--v2-brand-deep);
    --pv-dark-raised:var(--v2-brand-raised);
    --pv-dark-line:color-mix(in srgb,var(--pv-brand) 38%,#63716b);
}
.pv-corporativa.pv-collection-v2-preview,
.pv-corporativa.pv-collection-v2-preview .pv-shell,
.pv-corporativa.pv-collection-v2-preview .pv-content{
    background:var(--v2-brand-deep);
}
.pv-corporativa.pv-collection-v2-preview .pv-corporate-head,
.pv-corporativa.pv-collection-v2-preview .pv-tools{
    background:var(--v2-brand-deeper);
}
.pv-corporativa.pv-collection-v2-preview .pv-primary{
    background:var(--pv-brand)!important;
    border-color:var(--pv-brand)!important;
    color:var(--pv-brand-ink)!important;
}
.pv-corporativa.pv-collection-v2-preview .pv-direct>a,
.pv-corporativa.pv-collection-v2-preview .pv-direct>button{
    background:var(--v2-brand-raised)!important;
    border-color:var(--pv-dark-line)!important;
    color:#fff!important;
}
.pv-collection-v2-preview .pv-gallery-navigation button:focus-visible,
.pv-collection-v2-preview .pv-primary:focus-visible{outline:3px solid var(--pv-brand);outline-offset:3px}


/* Firma V2: consistent centered actions across all existing and future cards. */
.pv-page.pv-firma.pv-collection-v2-preview .pv-signature-copy .pv-actions{
  width:100%;min-width:0;
}
.pv-page.pv-firma.pv-collection-v2-preview .pv-signature-copy .pv-direct{
  width:100%;display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:clamp(10px,3vw,16px);margin-inline:auto;
}
.pv-page.pv-firma.pv-collection-v2-preview .pv-signature-copy .pv-direct>a,
.pv-page.pv-firma.pv-collection-v2-preview .pv-signature-copy .pv-direct>button{
  display:grid;place-items:center;flex:0 0 clamp(50px,13vw,58px);
  width:clamp(50px,13vw,58px);height:clamp(50px,13vw,58px);
  min-width:50px;min-height:50px;padding:11px;
  border-radius:15px!important;
}
.pv-page.pv-firma.pv-collection-v2-preview .pv-signature-copy .pv-direct .pv-icon{
  width:22px;height:22px;
}
.pv-page.pv-firma.pv-collection-v2-preview .pv-signature-copy .pv-socials{
  display:flex;align-items:center;justify-content:center;
  flex-wrap:wrap;gap:clamp(8px,2.4vw,13px);width:100%;
  margin:18px auto 0;
}
.pv-page.pv-firma.pv-collection-v2-preview .pv-signature-copy .pv-primary{
  max-width:100%;
}
@media(max-width:640px){
 .pv-page.pv-firma.pv-collection-v2-preview .pv-signature-copy{
   width:100%;min-width:0;
 }
}
