:root{
  /* Auto palette:
     1) PuntaNetwork Team vars (si existen)
     2) WP block-theme preset vars
     3) fallbacks seguros
  */
  --pngd-primary: var(--pn-team-link, var(--pn-team-links, var(--wp--preset--color--primary, var(--global--color-primary, #2563eb))));
  --pngd-on-primary: var(--wp--preset--color--base, #ffffff);
  --pngd-surface: var(--pn-team-card-bg, var(--wp--preset--color--base, #ffffff));
  --pngd-text: var(--pn-team-text, var(--wp--preset--color--contrast, #0f172a));
  --pngd-muted: var(--pn-team-muted, var(--wp--preset--color--secondary, #475569));
  --pngd-border: var(--pn-team-card-border, rgba(0,0,0,0.12));
  --pngd-soft: rgba(0,0,0,0.03);
  --pngd-shadow: var(--pn-team-modal-shadow, 0 25px 50px -12px rgba(0,0,0,0.25));
  --pngd-shadow-soft: 0 10px 15px -3px rgba(0,0,0,0.10);
  --pngd-radius: var(--pn-team-card-radius, 8px);
  --pngd-radius-lg: var(--pn-team-modal-radius, 8px);
}

/* Botón: si el usuario setea clases del theme (button / btn / wp-element-button), evitamos pisar estilos. */
.pngd-btn:not(.wp-element-button):not(.wp-block-button__link):not(.button):not(.btn){
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 24px;
  border-radius:var(--pngd-radius);
  font-weight:600;
  text-decoration:none;
  transition:filter .15s ease, opacity .15s ease, transform .15s ease;
  cursor:pointer;
  border:none;
  font:inherit;
}

.pngd-btn-primary:not(.wp-element-button):not(.wp-block-button__link):not(.button):not(.btn){
  background:var(--pngd-primary);
  color:var(--pngd-on-primary) !important;
}
.pngd-btn-primary:not(.wp-element-button):not(.wp-block-button__link):not(.button):not(.btn):hover{ filter:brightness(.92); }
.pngd-btn-secondary:not(.wp-element-button):not(.wp-block-button__link):not(.button):not(.btn){
  background:transparent;
  border:1px solid var(--pngd-border);
  color:var(--pngd-text);
}
.pngd-btn-secondary:not(.wp-element-button):not(.wp-block-button__link):not(.button):not(.btn):hover{ filter:brightness(.98); transform:translateY(-1px); }

.pngd-inline-banner{
  background:var(--pngd-surface);
  border:1px solid var(--pngd-border);
  border-left:4px solid var(--pngd-primary);
  padding:24px;
  margin:32px 0;
  border-radius:var(--pngd-radius-lg);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  box-shadow:0 4px 6px -1px rgba(0,0,0,0.06);
}

.pngd-banner-content h4{ margin:0 0 8px 0; font-size:1.25rem; color:var(--pngd-text); }
.pngd-banner-content p{ margin:0; color:var(--pngd-muted); }

.pngd-floating-btn{
  position:fixed;
  bottom:24px;
  right:24px;
  z-index:9999;
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
}

.pngd-floating-btn:not(.wp-element-button):not(.button):not(.btn):not(.wp-block-button__link){
  background:var(--pngd-primary);
  color:var(--pngd-on-primary) !important;
  padding:12px 20px;
  border-radius:8px;
  font-weight:700;
  box-shadow:0 10px 15px -3px rgba(0,0,0,0.12);
  transition:filter .15s ease, transform .15s ease;
  font:inherit;
}
.pngd-floating-btn:not(.wp-element-button):not(.button):not(.btn):not(.wp-block-button__link):hover{ filter:brightness(.92); transform:translateY(-1px); }
.pngd-floating-btn:focus{ outline:3px solid var(--pngd-primary); outline-offset:2px; }

.pngd-premium-page{
  max-width:880px;
  margin:0 auto;
  padding:40px 20px;
  font-family:inherit;
}
.pngd-hero{ text-align:center; margin-bottom:32px; }
.pngd-hero-icon{ font-size:3rem; display:block; margin-bottom:14px; }
.pngd-hero h1{ font-size:2.4rem; font-weight:800; color:var(--pngd-text); margin:0 0 14px 0; line-height:1.2; }
.pngd-lead{ font-size:1.05rem; color:var(--pngd-muted); max-width:640px; margin:0 auto; line-height:1.65; }
.pngd-page-intro{ margin:22px auto 26px auto; max-width:740px; color:var(--pngd-text); }
.pngd-page-intro p{ color:var(--pngd-muted); }
.pngd-page-outro{ margin:28px auto 0 auto; max-width:740px; color:var(--pngd-text); }
.pngd-page-outro p{ color:var(--pngd-muted); }
.pngd-copy-block{ text-align:left; margin:0 auto; }
.pngd-copy-block h2{ margin:0 0 12px 0; color:var(--pngd-text); font-size:1.25rem; line-height:1.3; letter-spacing:0; background:transparent !important; }
.pngd-copy-grid{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; margin-top:14px; }
.pngd-copy-grid > div{ border:1px solid var(--pngd-border); border-radius:8px; padding:14px; background:var(--pngd-surface); }
.pngd-copy-grid strong{ display:block; color:var(--pngd-text); margin-bottom:6px; line-height:1.35; }
.pngd-check-list{ margin:10px 0 18px 0; padding-left:1.15rem; color:var(--pngd-muted); }
.pngd-check-list li{ margin:7px 0; }
.pngd-thanks{ border-top:1px solid var(--pngd-border); padding-top:16px; margin-top:16px; }
.pngd-methods-heading{ margin:18px auto 20px auto; max-width:740px; text-align:center; }
.pngd-methods-heading h2{ margin:0 0 8px 0; color:var(--pngd-text); font-size:1.45rem; line-height:1.25; background:transparent !important; letter-spacing:0; }
.pngd-methods-heading p{ margin:0 auto; color:var(--pngd-muted); line-height:1.6; max-width:640px; }

.pngd-methods-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:18px;
}

.pngd-method-card{
  background:var(--pngd-surface);
  border:1px solid var(--pngd-border);
  border-radius:var(--pngd-radius-lg);
  padding:18px;
  display:flex;
  align-items:flex-start;
  gap:14px;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  text-align:left;
  box-shadow:0 4px 6px -1px rgba(0,0,0,0.06);
  color:inherit;
  text-decoration:none;
  width:100%;
}
.pngd-method-card:hover{
  border-color:var(--hover-color);
  transform:translateY(-3px);
  box-shadow:var(--pngd-shadow-soft);
}
.pngd-method-card:focus{ outline:3px solid var(--pngd-primary); outline-offset:2px; }

.pngd-card-icon{
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:var(--pngd-soft);
  border:1px solid rgba(0,0,0,0.06);
  flex:0 0 auto;
}
.pngd-card-icon svg{ width:30px; height:30px; display:block; }
.pngd-icon-logo{ line-height:0; }
.pngd-card-info{ min-width:0; flex:1; }
.pngd-card-title-row{ display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin:0 0 4px 0; }
.pngd-card-info h3{ margin:0; padding:0; font-size:1.05rem; color:var(--pngd-text); font-weight:750; letter-spacing:0; line-height:1.3; background:transparent !important; }
.pngd-card-info p{ margin:0 0 8px 0; color:var(--pngd-muted); font-size:.92rem; line-height:1.45; background:transparent !important; }
.pngd-card-info .pngd-card-action{ font-size:.9rem; color:var(--pngd-muted); font-weight:700; background:transparent !important; padding:0; display:inline; }
.pngd-card-badge{ flex:0 0 auto; display:inline-flex; align-items:center; border:1px solid color-mix(in srgb, var(--hover-color) 45%, var(--pngd-border)); border-radius:8px; padding:3px 7px; color:var(--hover-color); background:color-mix(in srgb, var(--hover-color) 8%, transparent); font-size:.75rem; font-weight:800; line-height:1.2; }

.pngd-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(15, 23, 42, 0.70);
  z-index:100000;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease, visibility .2s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter:blur(4px);
}
.pngd-modal-active{ opacity:1; visibility:visible; pointer-events:auto; }
.pngd-modal-overlay[aria-hidden="false"]{ opacity:1; visibility:visible; pointer-events:auto; }

.pngd-modal-content{
  background:var(--pngd-surface);
  width:92%;
  max-width:420px;
  border-radius:8px;
  padding:28px 28px 22px 28px;
  position:relative;
  transform:translateY(12px);
  transition:transform .2s ease;
  text-align:center;
  box-shadow:var(--pngd-shadow);
}
.pngd-modal-active .pngd-modal-content,
.pngd-modal-overlay[aria-hidden="false"] .pngd-modal-content{ transform:translateY(0); }

.pngd-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  background:none;
  border:none;
  font-size:1.6rem;
  color:#94a3b8;
  cursor:pointer;
  transition:color .2s;
}
.pngd-modal-close:hover{ color:var(--pngd-text); }
.pngd-modal-close:focus{ outline:3px solid var(--pngd-primary); outline-offset:2px; }

.pngd-modal-header h3{ margin:0 0 12px 0; color:var(--pngd-text); font-size:1.45rem; }

.pngd-modal-body p{ color:var(--pngd-muted); margin:0 0 16px 0; font-size:.95rem; line-height:1.55; }

.pngd-qr-container{
  background:var(--pngd-surface);
  padding:14px;
  border-radius:8px;
  border:1px solid var(--pngd-border);
  display:inline-block;
  margin-bottom:18px;
}
.pngd-qr-container img{ display:block; width:200px; height:200px; }

.pngd-address-box{ display:flex; gap:8px; }
.pngd-address-box input{
  flex:1;
  padding:12px;
  border:1px solid var(--pngd-border);
  border-radius:8px;
  background:var(--pngd-soft);
  color:var(--pngd-text);
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size:.9rem;
  text-align:center;
  outline:none;
}
.pngd-address-box button{
  background:var(--pngd-primary);
  color:var(--pngd-on-primary);
  border:none;
  padding:0 16px;
  border-radius:8px;
  font-weight:700;
  cursor:pointer;
  transition:filter .15s ease;
}
.pngd-address-box button:hover{ filter:brightness(.92); }
.pngd-address-box button:focus{ outline:3px solid var(--pngd-primary); outline-offset:2px; }

.pngd-success-text{ color:#10b981 !important; font-weight:700; margin-top:12px !important; }

/* Link pre-modal */
.pngd-link-body{
  text-align:left;
  margin: 0 0 10px 0;
}
.pngd-link-body p{ margin:0 0 10px 0; }
.pngd-amounts{
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  margin: 10px 0 14px 0;
}
.pngd-amount-btn{
  background:transparent;
  border:1px solid var(--pngd-border);
  color:var(--pngd-text);
  border-radius:8px;
  padding:8px 14px;
  font-weight:800;
  cursor:pointer;
  transition:transform .15s ease, filter .15s ease, border-color .15s ease;
}
.pngd-amount-btn:hover{ transform:translateY(-1px); border-color:var(--pngd-primary); }
.pngd-amount-btn.is-active{ background:var(--pngd-primary); color:var(--pngd-on-primary); border-color:var(--pngd-primary); }

.pngd-link-actions{
  display:flex;
  gap:10px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  margin-top: 6px;
}

@media (max-width:640px){
  .pngd-inline-banner{ flex-direction:column; text-align:center; }
  .pngd-hero h1{ font-size:2rem; }
  .pngd-copy-grid{ grid-template-columns:1fr; }
  .pngd-modal-content{ padding:24px 18px 18px 18px; }
}
