/* Gotifiestas Ultimate Profile Suite 2.2.9
   Diseño completo de perfil y ajustes. Tipografías heredadas de Astra, colores globales de Astra e iconos Font Awesome. */

:root {
  --gfups-accent: var(--ast-global-color-0);
  --gfups-accent-alt: var(--ast-global-color-1);
  --gfups-title: var(--ast-global-color-2);
  --gfups-text: var(--ast-global-color-3);
  --gfups-bg: var(--ast-global-color-4);
  --gfups-card: var(--ast-global-color-5);
  --gfups-card-2: var(--ast-global-color-6);
  --gfups-border: var(--ast-global-color-7);
  --gfups-compat: var(--ast-global-color-8);
  --gfups-muted: color-mix(in srgb, var(--gfups-text) 66%, transparent);
  --gfups-radius: var(--ast-border-radius, 4px);
  --gfups-shadow: 0 22px 70px color-mix(in srgb, var(--gfups-bg) 72%, transparent);
}

.gfups-profile-page .entry-title,
.gfups-account-page .entry-title,
.gfups-profile-page .page-title,
.gfups-account-page .page-title { display:none !important; }

.gfups-profile-page .site-content > .ast-container,
.gfups-account-page .site-content > .ast-container { max-width: 1440px; padding-top: 28px; padding-bottom: 48px; }
.gfups-profile-page #primary,
.gfups-account-page #primary { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; }
.gfups-profile-page #secondary,
.gfups-account-page #secondary { display:none !important; }
.gfups-profile-page article,
.gfups-account-page article { margin:0 !important; padding:0 !important; background:transparent !important; }
.gfups-profile-page .entry-content,
.gfups-account-page .entry-content { margin:0 !important; }

.gfups-profile, .gfups-account, .gfups-private {
  box-sizing:border-box;
  width:100%;
  color:var(--gfups-text);
  font-family:inherit;
}
.gfups-profile *, .gfups-account *, .gfups-private * { box-sizing:border-box; }
.gfups-profile a, .gfups-account a { color:inherit; text-decoration:none; }
.gfups-profile button, .gfups-account button, .gfups-profile input, .gfups-account input,
.gfups-account textarea, .gfups-account select { font:inherit; }

.gfups-btn {
  min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:9px;
  cursor:pointer; transition:.18s ease; text-decoration:none !important;
}

/* PUBLIC PROFILE */
.gfups-profile { border:1px solid var(--gfups-border); background:var(--gfups-bg); box-shadow:var(--gfups-shadow); overflow:hidden; border-radius:6px; }
.gfups-hero { position:relative; min-height:258px; overflow:hidden; border-bottom:1px solid var(--gfups-border); }
.gfups-hero__bg { position:absolute; inset:-22px; background-image:var(--gfups-cover); background-size:cover; background-position:center; filter:blur(12px) brightness(.48); transform:scale(1.08); }
.gfups-hero__bg::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--gfups-bg) 78%, transparent)); }
.gfups-hero__content { position:relative; z-index:1; min-height:258px; padding:38px 44px 28px; display:grid; grid-template-columns:156px minmax(0,1fr) auto; gap:28px; align-items:end; }
.gfups-avatar { width:156px; height:156px; border-radius:50%; padding:4px; border:1px solid var(--gfups-border); background:var(--gfups-bg); box-shadow:0 15px 42px color-mix(in srgb, var(--gfups-bg) 70%, transparent); }
.gfups-avatar img { width:100%; height:100%; object-fit:cover; border-radius:50%; display:block; }
.gfups-identity { align-self:end; padding-bottom:12px; min-width:0; }
.gfups-identity h1 { color:var(--gfups-title) !important; margin:0 0 2px !important; font-family:inherit; font-size:clamp(42px,5vw,66px); line-height:.98; letter-spacing:.01em; text-transform:uppercase; }
.gfups-role { color:var(--gfups-accent); font-weight:700; font-size:17px; margin-top:5px; }
.gfups-location { display:flex; gap:8px; align-items:center; margin-top:9px; color:color-mix(in srgb, var(--gfups-text) 84%, transparent); font-size:14px; }
.gfups-hero__action { align-self:end; padding-bottom:18px; }
.gfups-user-follow.is-following { background:transparent; color:var(--gfups-accent) !important; }

.gfups-statbar { display:grid; grid-template-columns:repeat(5,minmax(90px,1fr)) auto; align-items:stretch; min-height:82px; border-bottom:1px solid var(--gfups-border); background:var(--gfups-card); padding:0 20px; }
.gfups-stat { display:flex; flex-direction:column; justify-content:center; align-items:center; position:relative; padding:12px 16px; }
.gfups-stat:not(:last-of-type)::after { content:""; position:absolute; right:0; top:21px; bottom:21px; width:1px; background:var(--gfups-border); }
.gfups-stat strong { font-size:20px; line-height:1; color:var(--gfups-text); }
.gfups-stat span { margin-top:7px; color:var(--gfups-muted); text-transform:uppercase; font-size:10px; letter-spacing:.07em; }
.gfups-socials { display:flex; align-items:center; gap:10px; padding:0 14px 0 24px; }
.gfups-socials a { width:42px; height:42px; border-radius:50%; border:1px solid var(--gfups-border); display:grid; place-items:center; color:var(--gfups-title) !important; font-size:17px; transition:.18s; }
.gfups-socials a:hover { color:var(--gfups-accent) !important; border-color:var(--gfups-accent); transform:translateY(-2px); }

.gfups-profile-grid { display:grid; grid-template-columns:minmax(260px,33%) minmax(0,1fr); gap:14px; padding:14px; }
.gfups-profile-sidebar, .gfups-profile-main { display:flex; flex-direction:column; gap:14px; min-width:0; }
.gfups-card { border:1px solid var(--gfups-border); background:var(--gfups-card); border-radius:var(--gfups-radius); padding:20px; overflow:hidden; }
.gfups-card h2, .gfups-settings-card h2, .gfups-section-head h2 { margin:0 !important; color:var(--gfups-title) !important; font-size:24px; line-height:1; text-transform:uppercase; letter-spacing:.02em; }
.gfups-card h2::before, .gfups-settings-card > h2::before, .gfups-section-head h2::before { content:""; display:inline-block; width:3px; height:.75em; margin-right:9px; background:var(--gfups-accent); vertical-align:.02em; }
.gfups-about p { color:color-mix(in srgb, var(--gfups-text) 75%, transparent); line-height:1.65; margin:14px 0 0; }
.gfups-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px; }
.gfups-tags span { border:1px solid color-mix(in srgb, var(--gfups-accent) 70%, transparent); color:var(--gfups-text); border-radius:999px; padding:5px 13px; font-size:12px; }
.gfups-detail { display:grid; grid-template-columns:24px 1fr; gap:12px; margin-top:18px; align-items:start; }
.gfups-detail > i { color:var(--gfups-muted); padding-top:3px; text-align:center; }
.gfups-detail div { display:flex; flex-direction:column; gap:3px; min-width:0; }
.gfups-detail span { color:var(--gfups-muted); font-size:11px; text-transform:uppercase; }
.gfups-detail strong, .gfups-detail a { color:var(--gfups-title) !important; font-size:14px; overflow-wrap:anywhere; }
.gfups-detail a { color:var(--gfups-accent) !important; }
.gfups-muted, .gfups-help { color:var(--gfups-muted); }
.gfups-section-head { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:16px; }
.gfups-section-head > span { color:var(--gfups-accent); font-weight:700; }
.gfups-followed-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.gfups-followed-grid > a { min-height:82px; border:1px solid var(--gfups-border); padding:10px; display:grid; grid-template-columns:52px minmax(0,1fr); gap:10px; align-items:center; background:var(--gfups-card-2); border-radius:var(--gfups-radius); }
.gfups-followed-grid > a > span { width:52px; height:52px; border-radius:50%; overflow:hidden; display:grid; place-items:center; border:1px solid var(--gfups-border); }
.gfups-followed-grid img { width:100%; height:100%; object-fit:cover; }
.gfups-followed-grid div { min-width:0; display:flex; flex-direction:column; gap:3px; }
.gfups-followed-grid strong { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gfups-followed-grid small { color:var(--gfups-muted); font-size:11px; }

.gfups-event-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.gfups-event-card { display:block; min-width:0; border:1px solid var(--gfups-border); border-radius:var(--gfups-radius); overflow:hidden; background:var(--gfups-card-2); transition:border-color .18s ease, transform .18s ease; }
.gfups-event-card:hover { border-color:color-mix(in srgb,var(--gfups-accent) 55%,var(--gfups-border)); transform:translateY(-1px); }
.gfups-event-media { aspect-ratio:16/9; background:var(--gfups-bg); display:grid; place-items:center; overflow:hidden; }
.gfups-event-media img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.gfups-event-card:hover img { transform:scale(1.035); }
.gfups-event-info { padding:12px; display:flex; flex-direction:column; gap:6px; }
.gfups-event-grid strong { font-size:15px; line-height:1.2; }
.gfups-event-grid small { color:var(--gfups-muted); font-size:11px; }
.gfups-list { display:flex; flex-direction:column; }
.gfups-list > a { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:12px; align-items:center; padding:13px 5px; border-top:1px solid var(--gfups-border); }
.gfups-list > a:first-child { border-top:0; }
.gfups-list > a > i:first-child { color:var(--gfups-muted); text-align:center; }
.gfups-list > a > span { min-width:0; display:flex; flex-direction:column; gap:4px; }
.gfups-list strong { font-size:14px; }
.gfups-list small { color:var(--gfups-muted); font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gfups-list time { color:var(--gfups-muted); font-size:11px; white-space:nowrap; }

/* ACCOUNT */
.gfups-account { display:grid; grid-template-columns:280px minmax(0,1fr); min-height:720px; border:1px solid var(--gfups-border); border-radius:6px; background:var(--gfups-bg); box-shadow:var(--gfups-shadow); overflow:hidden; }
.gfups-account-nav { background:var(--gfups-card); border-right:1px solid var(--gfups-border); padding:28px 20px; }
.gfups-account-title > span, .gfups-mobile-account-head > span { color:var(--gfups-accent); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.gfups-account-title h1, .gfups-mobile-account-head h1 { color:var(--gfups-title) !important; margin:7px 0 8px !important; font-size:36px; line-height:.95; text-transform:uppercase; }
.gfups-account-title p { color:var(--gfups-muted); margin:0 0 18px; font-size:12px; }
.gfups-account-nav nav { display:flex; flex-direction:column; border:1px solid var(--gfups-border); border-radius:var(--gfups-radius); overflow:hidden; }
.gfups-nav-item { display:grid; grid-template-columns:27px minmax(0,1fr) 12px; gap:10px; align-items:center; min-height:62px; padding:10px 12px; border-top:1px solid var(--gfups-border); background:var(--gfups-card); transition:.18s; }
.gfups-nav-item:first-child { border-top:0; }
.gfups-nav-item > i:first-child { font-size:17px; color:var(--gfups-muted); text-align:center; }
.gfups-nav-item span { display:flex; flex-direction:column; gap:2px; }
.gfups-nav-item strong { font-size:13px; }
.gfups-nav-item small { color:var(--gfups-muted); font-size:10px; }
.gfups-nav-arrow { color:var(--gfups-muted); font-size:9px; }
.gfups-nav-item:hover, .gfups-nav-item.is-active { background:color-mix(in srgb, var(--gfups-accent) 20%, transparent); }
.gfups-nav-item.is-active { box-shadow:inset 3px 0 0 var(--gfups-accent); }
.gfups-nav-item.is-active > i:first-child, .gfups-nav-item.is-active strong { color:var(--gfups-text); }
.gfups-completion { position:relative; margin-top:18px; border:1px solid var(--gfups-border); border-radius:var(--gfups-radius); padding:14px; display:grid; grid-template-columns:1fr auto; gap:6px 10px; }
.gfups-completion strong, .gfups-completion small { grid-column:1/-1; }
.gfups-completion small { color:var(--gfups-muted); font-size:10px; line-height:1.4; }
.gfups-completion > div { height:5px; border-radius:99px; background:var(--gfups-border); overflow:hidden; align-self:center; }
.gfups-completion > div i { display:block; height:100%; background:var(--gfups-accent); }
.gfups-completion b { color:var(--gfups-accent); font-size:11px; }
.gfups-view-profile { margin-top:14px; min-height:45px; border:1px solid var(--gfups-border); border-radius:var(--gfups-radius); padding:0 12px; display:grid; grid-template-columns:20px 1fr auto; gap:8px; align-items:center; font-size:12px; }
.gfups-view-profile:hover { border-color:var(--gfups-accent); color:var(--gfups-accent) !important; }
.gfups-account-main { min-width:0; padding:18px; }
.gfups-mobile-account-head { display:none; }
.gfups-settings-form { margin:0; }
.gfups-settings-card { border:1px solid var(--gfups-border); background:var(--gfups-card); border-radius:var(--gfups-radius); padding:18px; margin-bottom:14px; }
.gfups-settings-card > h2 { margin-bottom:16px !important; }
.gfups-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.gfups-field { display:flex; flex-direction:column; gap:7px; min-width:0; }
.gfups-field--full { margin-top:14px; }
.gfups-field > span { font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:var(--gfups-muted); font-weight:700; }
.gfups-field em { color:var(--gfups-accent); font-style:normal; }
.gfups-field input, .gfups-field textarea, .gfups-field select, .gfups-social-form input {
  width:100%; min-height:42px; border:1px solid var(--gfups-border) !important; border-radius:4px !important;
  background:var(--gfups-bg) !important; color:var(--gfups-title) !important; padding:9px 11px !important; outline:none; box-shadow:none !important;
}
.gfups-field textarea { min-height:116px; resize:vertical; }
.gfups-field input:focus, .gfups-field textarea:focus, .gfups-field select:focus, .gfups-social-form input:focus { border-color:var(--gfups-accent) !important; }
.gfups-field input[readonly] { opacity:.55; cursor:not-allowed; }
.gfups-field small { color:var(--gfups-muted); font-size:10px; }
.gfups-help { margin:10px 0 0; font-size:11px; }

.gfups-visual-grid { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(300px,1.3fr); gap:14px; }
.gfups-upload { position:relative; border:1px solid var(--gfups-border); border-radius:var(--gfups-radius); padding:12px; min-height:176px; background:var(--gfups-card-2); display:flex; flex-direction:column; gap:9px; cursor:pointer; overflow:hidden; }
.gfups-upload > span:first-child { font-size:10px; color:var(--gfups-muted); text-transform:uppercase; font-weight:800; }
.gfups-upload input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.gfups-upload--avatar img { width:88px; height:88px; border-radius:50%; object-fit:cover; margin:auto; border:1px solid var(--gfups-border); }
.gfups-upload > div:last-of-type { display:flex; flex-direction:column; gap:2px; position:relative; z-index:1; }
.gfups-upload b { color:var(--gfups-accent); font-size:11px; }
.gfups-upload small { color:var(--gfups-muted); font-size:9px; }
.gfups-cover-preview { height:94px; background:var(--gfups-card-2); background-size:cover; background-position:center; border-radius:3px; }

.gfups-switch-row { min-height:61px; margin-top:14px; border:1px solid var(--gfups-border); padding:11px 13px; border-radius:4px; display:grid; grid-template-columns:minmax(0,1fr) 42px; gap:15px; align-items:center; }
.gfups-field-grid .gfups-switch-row { margin-top:0; }
.gfups-switch-row > span { display:flex; flex-direction:column; gap:3px; }
.gfups-switch-row strong { font-size:12px; }
.gfups-switch-row small { color:var(--gfups-muted); font-size:10px; }
.gfups-switch-row input { position:absolute; opacity:0; pointer-events:none; }
.gfups-switch-row > i { width:38px; height:21px; border-radius:99px; background:var(--gfups-border); position:relative; transition:.18s; }
.gfups-switch-row > i::after { content:""; position:absolute; width:15px; height:15px; left:3px; top:3px; border-radius:50%; background:var(--gfups-title); transition:.18s; }
.gfups-switch-row input:checked + i { background:var(--gfups-accent); }
.gfups-switch-row input:checked + i::after { transform:translateX(17px); }

.gfups-social-form { display:flex; flex-direction:column; gap:8px; }
.gfups-social-form label { display:grid; grid-template-columns:36px 110px minmax(0,1fr); gap:9px; align-items:center; }
.gfups-social-form label > i { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--gfups-border); border-radius:50%; }
.gfups-social-form label > span { font-size:12px; }
.gfups-form-actions { display:flex; justify-content:flex-end; gap:10px; border-top:1px solid var(--gfups-border); margin:20px -18px -18px; padding:14px 18px 0; }
.gfups-form-actions .gfups-btn--primary { min-width:270px; }

.gfups-claimed-list { display:flex; flex-direction:column; gap:7px; }
.gfups-claimed-list article { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:12px; align-items:center; border:1px solid var(--gfups-border); background:var(--gfups-card-2) !important; padding:8px !important; border-radius:4px; }
.gfups-claimed-thumb { width:52px; height:52px; border-radius:3px; overflow:hidden; display:grid; place-items:center; background:var(--gfups-card-2); }
.gfups-claimed-thumb img { width:100%; height:100%; object-fit:cover; }
.gfups-claimed-list article > div:nth-child(2) { min-width:0; display:flex; flex-direction:column; gap:4px; }
.gfups-claimed-list strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gfups-claimed-list small { color:var(--gfups-muted); }
.gfups-claimed-actions { display:flex; gap:7px; }
.gfups-claimed-actions a { border:1px solid var(--gfups-border); padding:7px 10px; border-radius:3px; font-size:10px; }
.gfups-claimed-actions a:hover { border-color:var(--gfups-accent); }
.gfups-claimed-actions .is-danger { color:var(--gfups-accent) !important; border-color:color-mix(in srgb,var(--gfups-accent) 55%,transparent); }
.gfups-empty { min-height:160px; display:grid; place-items:center; align-content:center; gap:10px; color:var(--gfups-muted); }
.gfups-empty i { font-size:30px; }
.gfups-notice { grid-column:1/-1; margin-bottom:12px; padding:12px 15px; border:1px solid color-mix(in srgb,#49c772 60%,transparent); background:color-mix(in srgb,#49c772 11%,transparent); border-radius:4px; font-size:12px; }
.gfups-notice.is-error { border-color:color-mix(in srgb,var(--gfups-accent) 60%,transparent); background:color-mix(in srgb,var(--gfups-accent) 10%,transparent); }
.gfups-private { max-width:760px; min-height:360px; margin:40px auto; padding:60px 28px; border:1px solid var(--gfups-border); background:var(--gfups-card); text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; }
.gfups-private > i { font-size:42px; color:var(--gfups-accent); }
.gfups-private h2 { margin:0 !important; color:var(--gfups-title) !important; }
.gfups-private p { color:var(--gfups-muted); }

@media (max-width: 980px) {
  .gfups-profile-page .site-content > .ast-container, .gfups-account-page .site-content > .ast-container { padding-left:14px; padding-right:14px; }
  .gfups-hero__content { grid-template-columns:130px minmax(0,1fr) auto; padding-left:28px; padding-right:28px; }
  .gfups-avatar { width:130px; height:130px; }
  .gfups-statbar { grid-template-columns:repeat(5,1fr); }
  .gfups-socials { grid-column:1/-1; justify-content:center; padding:8px 0 14px; }
  .gfups-followed-grid { grid-template-columns:repeat(2,1fr); }
  .gfups-account { grid-template-columns:240px minmax(0,1fr); }
  .gfups-account-nav { padding-left:14px; padding-right:14px; }
}

@media (max-width: 767px) {
  .gfups-profile-page .site-content > .ast-container, .gfups-account-page .site-content > .ast-container { padding:0 !important; }
  .gfups-profile, .gfups-account { border-left:0; border-right:0; border-radius:0; box-shadow:none; }
  .gfups-hero { min-height:226px; }
  .gfups-hero__content { min-height:226px; padding:78px 16px 14px; grid-template-columns:94px minmax(0,1fr); grid-template-areas:"avatar identity" "action action"; gap:12px 15px; align-items:end; }
  .gfups-avatar { grid-area:avatar; width:94px; height:94px; }
  .gfups-identity { grid-area:identity; padding:0 0 6px; }
  .gfups-identity h1 { font-size:34px; }
  .gfups-role { font-size:13px; }
  .gfups-location { font-size:11px; margin-top:5px; }
  .gfups-hero__action { grid-area:action; padding:0; width:100%; }
  .gfups-hero__action .gfups-btn { width:100%; }
  .gfups-statbar { padding:0; grid-template-columns:repeat(3,1fr); min-height:auto; }
  .gfups-stat { padding:13px 5px; }
  .gfups-stat:nth-child(4), .gfups-stat:nth-child(5) { display:none; }
  .gfups-stat:nth-child(3)::after { display:none; }
  .gfups-stat strong { font-size:17px; }
  .gfups-stat span { font-size:9px; }
  .gfups-socials { grid-column:1/-1; border-top:1px solid var(--gfups-border); padding:9px 0; }
  .gfups-socials a { width:38px; height:38px; }
  .gfups-profile-grid { grid-template-columns:1fr; padding:9px; gap:9px; }
  .gfups-profile-sidebar, .gfups-profile-main { gap:9px; }
  .gfups-card { padding:15px; }
  .gfups-card h2, .gfups-settings-card h2, .gfups-section-head h2 { font-size:20px; }
  .gfups-profile-sidebar .gfups-about { order:1; }
  .gfups-profile-sidebar .gfups-card:nth-child(2) { order:0; }
  .gfups-followed-grid { display:flex; overflow-x:auto; gap:8px; padding-bottom:2px; scrollbar-width:none; }
  .gfups-followed-grid::-webkit-scrollbar { display:none; }
  .gfups-followed-grid > a { min-width:145px; grid-template-columns:45px 1fr; }
  .gfups-followed-grid > a > span { width:45px; height:45px; }
  .gfups-event-grid { display:flex; overflow-x:auto; gap:7px; scrollbar-width:none; }
  .gfups-event-grid::-webkit-scrollbar { display:none; }
  .gfups-event-grid > .gfups-event-card { min-width:190px; max-width:190px; }
  .gfups-list > a { padding:11px 2px; }
  .gfups-list time { display:none; }

  .gfups-account { display:block; min-height:0; }
  .gfups-account-nav { border-right:0; border-bottom:1px solid var(--gfups-border); padding:12px 10px; }
  .gfups-account-title, .gfups-completion, .gfups-view-profile { display:none; }
  .gfups-account-nav nav { flex-direction:row; overflow-x:auto; border:0; border-radius:0; gap:6px; scrollbar-width:none; }
  .gfups-account-nav nav::-webkit-scrollbar { display:none; }
  .gfups-nav-item { min-width:max-content; min-height:38px; display:flex; gap:7px; padding:8px 11px; border:1px solid var(--gfups-border) !important; border-radius:4px; }
  .gfups-nav-item span small, .gfups-nav-arrow { display:none; }
  .gfups-nav-item span strong { font-size:11px; }
  .gfups-nav-item.is-active { box-shadow:none; border-color:var(--gfups-accent) !important; background:color-mix(in srgb,var(--gfups-accent) 18%,transparent); }
  .gfups-account-main { padding:12px 9px 20px; }
  .gfups-mobile-account-head { display:block; padding:6px 5px 14px; }
  .gfups-mobile-account-head h1 { font-size:32px; }
  .gfups-settings-card { padding:14px; margin-bottom:9px; }
  .gfups-visual-grid { grid-template-columns:1fr; }
  .gfups-upload--avatar { min-height:160px; }
  .gfups-upload--cover { min-height:170px; }
  .gfups-field-grid { grid-template-columns:1fr; gap:11px; }
  .gfups-social-form label { grid-template-columns:34px minmax(70px,92px) minmax(0,1fr); }
  .gfups-social-form label > i { width:34px; height:34px; }
  .gfups-form-actions { position:sticky; bottom:0; z-index:6; background:color-mix(in srgb,var(--gfups-bg) 94%,transparent); backdrop-filter:blur(9px); margin-left:-14px; margin-right:-14px; padding:11px 14px 0; }
  .gfups-form-actions .gfups-btn { flex:1; min-width:0; padding-left:10px; padding-right:10px; }
  .gfups-claimed-list article { grid-template-columns:48px minmax(0,1fr); }
  .gfups-claimed-actions { grid-column:1/-1; }
  .gfups-claimed-actions a { flex:1; text-align:center; }
}

@media (max-width: 420px) {
  .gfups-identity h1 { font-size:30px; }
  .gfups-social-form label { grid-template-columns:34px minmax(0,1fr); }
  .gfups-social-form label > span { grid-column:2; }
  .gfups-social-form label > input { grid-column:1/-1; }
}

/* PROFILE DYNAMIC SECTIONS */
.gfups-section-action {
  appearance:none; border:0; background:transparent; color:var(--gfups-accent); padding:5px 0;
  display:inline-flex; align-items:center; gap:7px; font:inherit; font-size:11px; font-weight:800;
  text-transform:uppercase; letter-spacing:.035em; cursor:pointer;
}
.gfups-section-action:hover { filter:brightness(1.18); }
.gfups-section-action i { font-size:10px; }
.gfups-section-empty {
  min-height:92px; border:1px dashed var(--gfups-border); border-radius:var(--gfups-radius);
  display:flex; align-items:center; justify-content:center; gap:10px; padding:20px;
  color:var(--gfups-muted); text-align:center; font-size:12px;
}
.gfups-section-empty i { color:var(--gfups-accent); font-size:18px; }
.gfups-events-section .gfups-event-media { aspect-ratio: 16 / 10; }
.gfups-events-section .gfups-event-info strong { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.gfups-forum-list > a > i:first-child { color:var(--gfups-accent); }

/* Eventos seguidos: popup con todos los eventos futuros */
.gfups-modal {
  position:fixed; inset:0; z-index:999999; display:none; align-items:center; justify-content:center;
  padding:22px; font-family:inherit;
}
.gfups-modal.is-open { display:flex; }
.gfups-modal__backdrop {
  position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; margin:0;
  background:color-mix(in srgb, var(--gfups-bg) 86%, transparent); backdrop-filter:blur(7px); cursor:default;
}
.gfups-modal__dialog {
  position:relative; z-index:1; width:min(1100px,96vw); max-height:min(88vh,900px); overflow:hidden;
  display:flex; flex-direction:column; color:var(--gfups-text); background:var(--gfups-bg);
  border:1px solid var(--gfups-border); border-radius:7px; box-shadow:0 28px 90px color-mix(in srgb, var(--gfups-bg) 82%, transparent);
}
.gfups-modal__head {
  min-height:76px; padding:17px 20px; border-bottom:1px solid var(--gfups-border);
  display:flex; align-items:center; justify-content:space-between; gap:18px;
}
.gfups-modal__head > div { min-width:0; }
.gfups-modal__head span { color:var(--gfups-accent); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.gfups-modal__head h2 { margin:3px 0 0 !important; color:var(--gfups-title) !important; font-size:30px; line-height:1; text-transform:uppercase; }
.gfups-modal__close {
  flex:0 0 40px; width:40px; height:40px; display:grid; place-items:center; border-radius:50%;
  border:1px solid var(--gfups-border); background:transparent; color:var(--gfups-text); cursor:pointer;
}
.gfups-modal__close:hover { color:var(--gfups-accent); border-color:var(--gfups-accent); }
.gfups-modal__body { overflow:auto; padding:18px 20px 22px; overscroll-behavior:contain; }
.gfups-modal__intro { margin:0 0 15px; color:var(--gfups-muted); font-size:12px; }
.gfups-event-grid--modal { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gfups-event-grid--modal .gfups-event-card { background:var(--gfups-card); }
.gfups-event-grid--modal .gfups-event-media { aspect-ratio:16/10; }
body.gfups-modal-open { overflow:hidden !important; }

@media (max-width: 980px) {
  .gfups-event-grid--modal { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .gfups-section-head { align-items:center; }
  .gfups-section-action { font-size:10px; }
  .gfups-section-empty { min-height:78px; padding:15px 12px; }
  .gfups-modal { padding:0; align-items:flex-end; }
  .gfups-modal__dialog { width:100%; max-height:91dvh; border-radius:8px 8px 0 0; border-left:0; border-right:0; border-bottom:0; }
  .gfups-modal__head { min-height:67px; padding:14px 15px; }
  .gfups-modal__head h2 { font-size:24px; }
  .gfups-modal__body { padding:14px 12px 22px; }
  .gfups-event-grid--modal { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; gap:8px; }
  .gfups-event-grid--modal > .gfups-event-card { min-width:0; max-width:none; }
  .gfups-event-grid--modal .gfups-event-info { padding:9px; }
  .gfups-event-grid--modal .gfups-event-info strong { font-size:13px; }
  .gfups-event-grid--modal .gfups-event-info small { font-size:10px; }
}

@media (max-width: 420px) {
  .gfups-event-grid--modal { grid-template-columns:1fr 1fr; }
}


/* Ajustes 2.2.5: Astra como fuente de verdad visual. */
.gfups-profile, .gfups-account, .gfups-private { color: var(--gfups-text); }
.gfups-profile h1, .gfups-profile h2, .gfups-account h1, .gfups-account h2, .gfups-private h2 { color: var(--gfups-title) !important; font-family: inherit; }
.gfups-card, .gfups-settings-card { background: var(--gfups-card); }
.gfups-followed-grid > a, .gfups-event-card, .gfups-claimed-list article { background: var(--gfups-card-2) !important; }
.gfups-btn { font-family: inherit; text-decoration: none !important; }
.gfups-btn--secondary { background: var(--gfups-card-2) !important; color: var(--gfups-title) !important; border: 1px solid var(--gfups-border) !important; }
.gfups-btn--secondary:hover { border-color: var(--gfups-accent) !important; }
.gfups-user-follow.is-following { background: var(--gfups-card-2) !important; color: var(--gfups-accent) !important; }
.gfups-field input, .gfups-field textarea, .gfups-field select, .gfups-social-form input { font-family: inherit !important; }
.gfups-account input[type=text], .gfups-account input[type=email], .gfups-account input[type=url], .gfups-account input[type=password], .gfups-account textarea, .gfups-account select { text-transform: none; }
.gfups-profile a:focus-visible, .gfups-account a:focus-visible, .gfups-account button:focus-visible, .gfups-profile button:focus-visible, .gfups-account input:focus-visible, .gfups-account textarea:focus-visible, .gfups-account select:focus-visible { outline: 2px solid var(--gfups-accent); outline-offset: 3px; }

/* Eliminación de cuenta */
.gfups-danger-card {
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  border-color:color-mix(in srgb,var(--gfups-accent) 48%,var(--gfups-border));
}
.gfups-danger-card__content { display:flex; align-items:center; gap:14px; min-width:0; }
.gfups-danger-card__content > div { min-width:0; }
.gfups-danger-card__icon {
  flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; border-radius:50%;
  color:var(--gfups-accent); background:color-mix(in srgb,var(--gfups-accent) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--gfups-accent) 38%,transparent);
}
.gfups-danger-card h2 { margin-bottom:7px !important; }
.gfups-danger-card p { margin:0; color:var(--gfups-muted); font-size:12px; line-height:1.55; max-width:660px; }
.gfups-btn--danger {
  flex:0 0 auto; background:var(--gfups-accent) !important; border-color:var(--gfups-accent) !important;
}
.gfups-btn--danger:hover, .gfups-btn--danger:focus-visible {
  opacity:.9; background:var(--gfups-accent) !important; border-color:var(--gfups-accent) !important;
}
.gfups-delete-modal__dialog { width:min(560px,96vw); }
.gfups-delete-modal__body { text-align:center; }
.gfups-delete-modal__warning {
  width:64px; height:64px; margin:2px auto 15px; display:grid; place-items:center; border-radius:50%;
  color:var(--gfups-accent); background:color-mix(in srgb,var(--gfups-accent) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--gfups-accent) 42%,transparent); font-size:25px;
}
.gfups-delete-modal__body > p:not(.gfups-modal__intro) { margin:0 0 8px; color:var(--gfups-text); font-size:16px; line-height:1.5; }
.gfups-delete-modal__body .gfups-modal__intro { max-width:450px; margin:0 auto 20px; line-height:1.55; }
.gfups-delete-modal__actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:18px; }
.gfups-delete-modal__actions .gfups-btn { width:100%; min-width:0; }

@media (max-width: 680px) {
  .gfups-danger-card { align-items:stretch; flex-direction:column; }
  .gfups-danger-card > .gfups-btn { width:100%; }
  .gfups-delete-modal__actions { grid-template-columns:1fr; }
}
