/*
 * Ideas Factory Cards 5.2 — sistema visual final
 * Esta capa pequeña se carga después de qrky.css. Centraliza las decisiones
 * críticas de lectura, tacto y composición sin reescribir componentes sanos.
 */

:root{
  --if-quality-ink:#151719;
  --if-quality-paper:#ffffff;
  --if-quality-wash:#f6f5f1;
  --if-quality-line:#dfe2df;
  --if-quality-muted:#667078;
  --if-quality-focus:#176e98;
  --if-quality-radius:18px;
}

/* Contraste de lectura: los controles oscuros siempre tienen texto blanco. */
.qrky-button-primary,
.qrky-body a.qrky-button-primary,
.qrky-body button.qrky-button-primary,
.qrky-my-cards-search a,
.qrky-card-filters button.is-active{
  background:var(--if-quality-ink);
  border-color:var(--if-quality-ink);
  color:#fff!important;
  -webkit-text-fill-color:#fff;
}
.qrky-button-primary .qrky-icon,
.qrky-my-cards-search a .qrky-icon,
.qrky-card-filters button.is-active .qrky-icon{color:#fff;stroke:#fff}
.qrky-button-primary:hover,.qrky-my-cards-search a:hover{background:#303437;border-color:#303437}
.qrky-body button:disabled{opacity:.52;cursor:not-allowed;transform:none}
.qrky-body :focus-visible{outline:3px solid var(--if-quality-focus);outline-offset:3px}

/* Una superficie clara, bordes sutiles y áreas táctiles consistentes. */
.qrky-home-action,.qrky-button,.qrky-actions a,.qrky-contact-row,.qrky-saved-contact{min-height:50px}
.qrky-home-action,.qrky-button,.qrky-actions a,.qrky-contact-row{border-radius:var(--if-quality-radius)}
.qrky-home-action:not(.qrky-home-action-primary),.qrky-button-ghost{background:var(--if-quality-paper);border-color:var(--if-quality-line)}
.qrky-home-action-primary{box-shadow:0 12px 26px rgba(21,23,25,.14)}
.qrky-card-v300 .qrky-card-face,.qrky-result-preview-dialog,.qrky-dialog{box-shadow:0 18px 48px rgba(17,24,27,.08)}
.qrky-card-v300 .qrky-card-face{border-color:var(--if-quality-line)}

/* La identidad debe leerse primero, sin foto recortada ni tipografías mixtas. */
.qrky-body,.qrky-body button,.qrky-body input,.qrky-body textarea,.qrky-body select{font-family:var(--qrky-sans)}
.qrky-card-v300 .qrky-profile-media,.qrky-photo-preview{background:var(--if-quality-wash)}
.qrky-card-v300 .qrky-profile-media img,.qrky-photo-preview img{object-fit:contain}
.qrky-card-v300 .qrky-name{line-height:1.06;text-wrap:balance}
.qrky-card-v300 .qrky-company,.qrky-card-v300 .qrky-job-title{color:var(--if-quality-muted)}

/* Formularios y el espacio privado: menos ruido, lectura directa. */
.qrky-my-cards-head h1,.qrky-search-hero h1,.qrky-auth-card h1{letter-spacing:-.045em;line-height:1.05}
.qrky-my-cards-search input,.qrky-search-field input,.qrky-auth-card input,.qrky-auth-card textarea{border-color:var(--if-quality-line);background:var(--if-quality-paper)}
.qrky-my-cards-search input::placeholder,.qrky-search-field input::placeholder{color:#778087;opacity:1}
.qrky-consent-panel{border-color:var(--if-quality-line);background:var(--if-quality-wash)}
.qrky-consent-panel a,.qrky-check a{font-weight:700;text-underline-offset:3px}

/* Denso solo donde aporta: lista de tarjetas asociadas y redes. */
.qrky-saved-contact{border-color:var(--if-quality-line);background:var(--if-quality-paper)}
.qrky-saved-contact:hover{border-color:#bdc4c2;background:#fbfbf9}
.qrky-card-v300 .qrky-socials{gap:10px}

html[data-ideas-theme="dark"]{
  --if-quality-ink:#f3f4f1;
  --if-quality-paper:#181b1e;
  --if-quality-wash:#22272a;
  --if-quality-line:#394044;
  --if-quality-muted:#b7bec2;
}
html[data-ideas-theme="dark"] .qrky-button-primary,
html[data-ideas-theme="dark"] .qrky-body a.qrky-button-primary,
html[data-ideas-theme="dark"] .qrky-body button.qrky-button-primary,
html[data-ideas-theme="dark"] .qrky-my-cards-search a,
html[data-ideas-theme="dark"] .qrky-card-filters button.is-active{color:#151719!important;-webkit-text-fill-color:#151719}
html[data-ideas-theme="dark"] .qrky-button-primary .qrky-icon{color:#151719;stroke:#151719}

@media(max-width:620px){
  .qrky-home-start{padding-left:0;padding-right:0}
  .qrky-home-action,.qrky-button{min-height:52px}
  .qrky-card-v300 .qrky-card-face{box-shadow:0 12px 30px rgba(17,24,27,.07)}
}

@media(prefers-reduced-motion:reduce){
  .qrky-body *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Mobile 5.2: recognizable marks, generous targets, separate contact/social groups. */
.qrky-icon.qrky-brand-icon{fill:currentColor!important;stroke:none!important}
.qrky-body.qrky-card-v300{
  --if-mobile-control:#f1f4f2;
  --if-mobile-control-hover:#e6ece8;
  --if-mobile-primary:#172b26;
  --if-mobile-on-primary:#fff;
  --if-mobile-whatsapp:#087f5b;
  --if-quality-paper:var(--card-surface);
  --if-quality-wash:var(--if-mobile-control);
  --if-quality-muted:var(--card-muted);
}
.qrky-body.qrky-card-v300.qrky-style-executive,
html[data-ideas-theme="dark"] .qrky-body.qrky-card-v300{
  --if-mobile-control:#262e2c;
  --if-mobile-control-hover:#34403c;
  --if-mobile-primary:#e9f2ed;
  --if-mobile-on-primary:#172b26;
  --if-mobile-whatsapp:#71e0b3;
}
.qrky-body.qrky-card-v300 .qrky-primary-contact-stack>a{
  min-height:56px;padding:14px 18px;line-height:1.3;
  background:var(--if-mobile-primary);border-color:var(--if-mobile-primary);
  color:var(--if-mobile-on-primary);-webkit-text-fill-color:var(--if-mobile-on-primary);
}
.qrky-body.qrky-card-v300 .qrky-primary-contact-stack button{
  min-height:54px;padding:12px;font-size:14px;background:var(--if-mobile-control);
  color:var(--card-text);border-color:var(--card-line);
}
.qrky-body.qrky-card-v300 .qrky-primary-contact-stack .qrky-icon{width:25px;height:25px;flex-shrink:0}
.qrky-body.qrky-card-v300 .qrky-contact-rail{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));
  gap:8px;padding:0;border:0;margin:20px 0;
}
.qrky-body.qrky-card-v300 .qrky-contact-rail>a{
  min-width:0;min-height:80px;padding:12px 4px;gap:9px;border-radius:16px;
  background:var(--if-mobile-control);color:var(--card-text);
  font-size:12px;font-weight:600;line-height:1.3;
}
.qrky-body.qrky-card-v300 .qrky-contact-rail>a+a:before{display:none}
.qrky-body.qrky-card-v300 .qrky-contact-rail .qrky-icon{width:28px;height:28px;flex-shrink:0;stroke-width:1.9}
.qrky-body.qrky-card-v300 .qrky-contact-rail>a[data-event="whatsapp"] .qrky-icon{color:var(--if-mobile-whatsapp)}
.qrky-body.qrky-card-v300 .qrky-contact-rail>a span{overflow-wrap:anywhere}
.qrky-body.qrky-card-v300 .qrky-google-review{
  min-height:56px;padding:12px 16px;background:var(--if-mobile-control);
  border-color:var(--card-line);color:var(--card-text);font-size:15px;
  grid-template-columns:28px minmax(0,1fr) 20px;
}
.qrky-body.qrky-card-v300 .qrky-google-review>.qrky-icon:first-child{width:28px;height:28px;color:#9a6400;fill:#f8d16b;stroke-width:1.5}
html[data-ideas-theme="dark"] .qrky-body.qrky-card-v300 .qrky-google-review>.qrky-icon:first-child,
.qrky-body.qrky-card-v300.qrky-style-executive .qrky-google-review>.qrky-icon:first-child{color:#f8d16b}
.qrky-body.qrky-card-v300 .qrky-socials{margin-top:24px!important;padding-top:22px!important}
.qrky-body.qrky-card-v300 .qrky-socials>strong{color:var(--card-text);font-size:17px;line-height:1.35;letter-spacing:0;margin-bottom:16px}
.qrky-body.qrky-card-v300 .qrky-social-row{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));
  gap:12px;overflow:visible;align-items:start;justify-items:center;
}
.qrky-body.qrky-card-v300 .qrky-social-row>a{
  width:100%;max-width:80px;min-width:64px;min-height:64px;padding:14px;
  display:flex;justify-content:center;align-items:center;border:0;border-radius:18px;
  color:#fff;-webkit-text-fill-color:#fff;background:#242a28;text-decoration:none;
}
.qrky-body.qrky-card-v300 .qrky-social-row .qrky-icon{width:32px;height:32px;flex-shrink:0;stroke-width:1.8}
.qrky-body.qrky-card-v300 .qrky-social-row>.qrky-social-facebook{background:#0866ff}
.qrky-body.qrky-card-v300 .qrky-social-row>.qrky-social-instagram{background:#bd2676}
.qrky-body.qrky-card-v300 .qrky-social-row>.qrky-social-tiktok{background:#111215;border:1px solid #4a4d50}
.qrky-body.qrky-card-v300 .qrky-social-row>.qrky-social-youtube{background:#c21b22}
.qrky-body.qrky-card-v300 .qrky-social-row>.qrky-social-linkedin{background:#0a66c2}
.qrky-body.qrky-card-v300 .qrky-social-row>a:focus-visible{outline:3px solid var(--card-text);outline-offset:4px}
.qrky-body.qrky-card-v300 .qrky-card-credits{flex-wrap:wrap}
.qrky-body.qrky-card-v300 .qrky-card-credits .qrky-legal-links{width:100%}
.qrky-body.qrky-card-v300 .qrky-card-credits span{font-size:11px}
.qrky-body.qrky-card-v300 .qrky-card-credits strong{font-size:13px}
.qrky-body.qrky-card-v300 .qrky-card-credits>button{min-height:44px;font-size:12px}
.qrky-visibility-controls .qrky-check{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 0;margin:0}
.qrky-visibility-controls input[type="checkbox"]{width:22px;height:22px;flex:0 0 22px}
.qrky-body a.qrky-button-primary:hover,.qrky-body button.qrky-button-primary:hover{background:#303437;border-color:#303437;color:#fff!important;-webkit-text-fill-color:#fff}
html[data-ideas-theme="dark"] .qrky-body a.qrky-button-primary:hover,
html[data-ideas-theme="dark"] .qrky-body button.qrky-button-primary:hover{background:#d5ded9;border-color:#d5ded9;color:#151719!important;-webkit-text-fill-color:#151719}
@media(hover:hover){
  .qrky-body.qrky-card-v300 .qrky-contact-rail>a:hover,
  .qrky-body.qrky-card-v300 .qrky-primary-contact-stack button:hover,
  .qrky-body.qrky-card-v300 .qrky-google-review:hover{background:var(--if-mobile-control-hover)}
  .qrky-body.qrky-card-v300 .qrky-social-row>a:hover{filter:brightness(.9)}
}
.qrky-body.qrky-card-v300 .qrky-social-row>a:active{transform:scale(.97)}
.qrky-body.qrky-card-v300 .ideas-brand{transform:none!important}
.qrky-body.qrky-card-v300 .qrky-global-nav{position:absolute}
.qrky-body.qrky-card-v300 .qrky-avatar-initials{border-radius:26px!important}
.qrky-body.qrky-card-v300 .qrky-mobile-card-dock{
  grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;
  background:var(--card-surface);border-color:var(--card-line);
}
.qrky-body.qrky-card-v300 .qrky-mobile-card-dock>a,
.qrky-body.qrky-card-v300 .qrky-mobile-card-dock>button{
  min-height:58px;min-width:0;padding:8px 4px;display:flex;flex-direction:column;gap:5px;
  justify-content:center;align-items:center;background:var(--if-mobile-control);
  color:var(--card-text)!important;-webkit-text-fill-color:var(--card-text);border:0;
}
.qrky-body.qrky-card-v300 .qrky-mobile-card-dock .qrky-icon{width:24px;height:24px}
.qrky-body.qrky-card-v300 .qrky-mobile-card-dock span{font-size:12px}
@media(max-width:620px){
  .qrky-body.qrky-card-v300{padding-left:12px!important;padding-right:12px!important}
  .qrky-body.qrky-card-v300 .qrky-card-face{padding:24px 18px!important}
  .qrky-body.qrky-card-v300 .qrky-contact-rail{grid-template-columns:repeat(4,minmax(0,1fr))}
  .qrky-body.qrky-card-v300 .qrky-profile-media{height:128px;background:transparent}
  .qrky-body.qrky-card-v300 .qrky-avatar{width:128px!important;height:128px!important}
}
@media(max-width:359px){
  .qrky-body.qrky-card-v300 .qrky-contact-rail{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* 5.4.0: hidden style/theme radios inherited width:100% and caused horizontal scroll in the panel */
.qrky-editor input[type="radio"][name="design_style"],.qrky-editor input[type="radio"][name="theme_key"]{width:1px!important;height:1px!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden}
