/* ===========================================================================
   Sphere Business — capa visual premium. Construida SOBRE los tokens del
   sistema Sphere (cc-sphere-app.css / cc-panel-luxury.css). No es un sistema
   nuevo: define variables locales --sb-* derivadas de la paleta navy+oro y
   componentes específicos de Business (creador, preview, directorio, página).
   Se carga vía @push('styles_luxury').
   =========================================================================== */

.sb-wrap{
  --sb-gold:#d99a21; --sb-gold-soft:rgba(217,154,33,.14);
  --sb-navy:#061426;
  --sb-surface:#ffffff; --sb-surface-2:#faf6ec;
  --sb-ink:#0b1524; --sb-muted:#667085;
  --sb-line:rgba(12,31,55,.12);
  --sb-radius:18px; --sb-radius-sm:12px;
  --sb-shadow:0 18px 48px rgba(6,20,38,.10);
  --sb-serif:'Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;
  max-width:1280px; margin:0 auto; padding:1.25rem clamp(.75rem,3vw,1.75rem) 3rem;
  color:var(--sb-ink); font-size:15px;
  position:relative; isolation:isolate;   /* contexto de apilamiento propio */
  overflow-x:clip;                          /* ninguna capa se sale a los lados */
}
.sb-wrap.is-wide{max-width:1280px;}
/* Red de seguridad: ninguna imagen/video dentro de Business puede desbordar. */
.sb-wrap img,.sb-wrap video{max-width:100%;}
.sb-post{overflow:hidden;}
.sb-post img,.sb-post video,.sb-post-video{max-width:100%;height:auto;display:block;}
/* Antes de cargar el primer frame, un <video> sin poster se ve blanco/roto sobre
   el fondo claro de la tarjeta. Fondo navy fijo: se ve como reproductor real. */
.sb-post-video{background:var(--sb-navy);border-radius:12px;aspect-ratio:16/9;}
html[data-theme="dark"] .sb-wrap, body[data-theme="dark"] .sb-wrap{
  --sb-surface:#0e1f38; --sb-surface-2:#0b1a31;
  --sb-ink:#eef3fb; --sb-muted:#a4b4cc; --sb-line:rgba(255,255,255,.12);
  --sb-shadow:0 18px 48px rgba(0,0,0,.4);
}

/* ---- Encabezado / hero ---- */
.sb-hero{
  background:linear-gradient(135deg,var(--sb-navy),#0d2b4d);
  border-radius:var(--sb-radius); padding:clamp(1.1rem,3vw,1.9rem);
  color:#fff; position:relative; overflow:hidden; box-shadow:var(--sb-shadow);
}
.sb-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 140% at 100% 0,rgba(217,154,33,.28),transparent 55%);pointer-events:none;}
.sb-hero .sb-eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sb-gold);font-weight:700;}
.sb-hero h1{font-family:var(--sb-serif);font-size:clamp(1.5rem,3.4vw,2.25rem);margin:.25rem 0 .35rem;line-height:1.1;}
.sb-hero p{color:rgba(255,255,255,.78);max-width:56ch;margin:0;}
.sb-directory-hero{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);
  gap:2rem;align-items:end;padding:clamp(1.5rem,4vw,3rem);
  background:
    radial-gradient(90% 130% at 100% 0,rgba(217,154,33,.22),transparent 58%),
    linear-gradient(135deg,#fffdf8 0%,#fbf4e7 55%,#f3e4c9 100%);
  border:1px solid color-mix(in srgb,var(--sb-gold) 30%,var(--sb-line));
  color:var(--sb-ink);
  box-shadow:0 20px 54px rgba(74,51,18,.12);
}
.sb-directory-hero::after{
  background:linear-gradient(115deg,transparent 0 62%,rgba(255,255,255,.38) 62% 64%,transparent 64%);
}
.sb-directory-hero > *{position:relative;z-index:1;}
.sb-directory-hero h1{font-size:clamp(2rem,5vw,3.6rem);max-width:14ch;letter-spacing:-.025em;color:var(--sb-ink);}
.sb-directory-hero p{font-size:clamp(.95rem,1.7vw,1.1rem);line-height:1.65;color:var(--sb-muted);}
.sb-directory-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.25rem;}
.sb-btn-on-dark{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff;backdrop-filter:blur(8px);}
.sb-btn-on-dark:hover{background:rgba(255,255,255,.14);}
.sb-directory-hero .sb-btn-primary{color:#1a1206;}
.sb-directory-hero .sb-btn-on-dark{
  background:rgba(255,255,255,.86);border-color:rgba(6,20,38,.18);
  color:var(--sb-navy);box-shadow:0 8px 22px rgba(6,20,38,.10);backdrop-filter:blur(8px);
}
.sb-directory-hero .sb-btn-on-dark:hover{background:#fff;border-color:rgba(217,154,33,.52);}
.sb-directory-hero .sb-btn:focus-visible{outline:3px solid rgba(217,154,33,.36);outline-offset:3px;}
.sb-directory-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;border:1px solid rgba(217,154,33,.28);border-radius:16px;overflow:hidden;background:rgba(217,154,33,.24);backdrop-filter:blur(12px);}
.sb-directory-stats div{padding:1rem .75rem;background:rgba(255,255,255,.78);text-align:center;}
.sb-directory-stats dt{font-family:var(--sb-serif);font-size:clamp(1.35rem,3vw,2rem);font-weight:800;color:var(--sb-navy);}
.sb-directory-stats dd{margin:.2rem 0 0;color:#5f6875;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;}
html[data-theme="dark"] .sb-directory-hero,body[data-theme="dark"] .sb-directory-hero{
  background:
    radial-gradient(90% 130% at 100% 0,rgba(217,154,33,.24),transparent 58%),
    linear-gradient(135deg,var(--sb-navy),#0d2b4d);
  border-color:rgba(217,154,33,.28);color:#fff;box-shadow:var(--sb-shadow);
}
html[data-theme="dark"] .sb-directory-hero h1,body[data-theme="dark"] .sb-directory-hero h1{color:#fff;}
html[data-theme="dark"] .sb-directory-hero p,body[data-theme="dark"] .sb-directory-hero p{color:rgba(255,255,255,.78);}
html[data-theme="dark"] .sb-directory-stats,body[data-theme="dark"] .sb-directory-stats{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.12);}
html[data-theme="dark"] .sb-directory-stats div,body[data-theme="dark"] .sb-directory-stats div{background:rgba(6,20,38,.55);}
html[data-theme="dark"] .sb-directory-stats dt,body[data-theme="dark"] .sb-directory-stats dt{color:#fff;}
html[data-theme="dark"] .sb-directory-stats dd,body[data-theme="dark"] .sb-directory-stats dd{color:rgba(255,255,255,.7);}
html[data-theme="dark"] .sb-directory-hero .sb-btn-on-dark,body[data-theme="dark"] .sb-directory-hero .sb-btn-on-dark{
  background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff;
}
html[data-theme="dark"] .sb-directory-hero .sb-btn-on-dark:hover,body[data-theme="dark"] .sb-directory-hero .sb-btn-on-dark:hover{background:rgba(255,255,255,.14);}
@media (max-width:820px){
  .sb-directory-hero{grid-template-columns:1fr;gap:1.35rem;}
  .sb-directory-hero h1{max-width:none;}
}
@media (max-width:460px){
  .sb-directory-stats{grid-template-columns:1fr;}
  .sb-directory-stats div{display:flex;align-items:center;justify-content:space-between;text-align:start;padding:.7rem 1rem;}
  .sb-directory-stats dd{margin:0;}
}

/* ---- Barra de progreso / completitud ---- */
.sb-progress{margin-top:1rem;}
.sb-progress-track{height:8px;border-radius:999px;background:rgba(255,255,255,.16);overflow:hidden;}
.sb-progress-fill{height:100%;background:linear-gradient(90deg,var(--sb-gold),#f0c25a);border-radius:999px;transition:width .4s ease;}
.sb-progress-label{display:flex;justify-content:space-between;font-size:.8rem;color:rgba(255,255,255,.8);margin-top:.4rem;}

/* ---- Layout creador: form + preview ---- */
.sb-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:1.25rem;margin-top:1.25rem;align-items:start;}
@media (max-width:960px){ .sb-grid{grid-template-columns:1fr;} .sb-preview-col{order:-1;} }

.sb-card{background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius);box-shadow:var(--sb-shadow);}
.sb-section{padding:clamp(1rem,2.4vw,1.5rem);border-bottom:1px solid var(--sb-line);}
.sb-section:last-child{border-bottom:0;}
.sb-section > h2{font-family:var(--sb-serif);font-size:1.1rem;margin:0 0 .2rem;display:flex;align-items:center;gap:.55rem;}
.sb-section > h2 .sb-step{width:26px;height:26px;border-radius:50%;background:var(--sb-gold-soft);color:var(--sb-gold);display:grid;place-items:center;font-size:.8rem;font-weight:800;flex:none;}
.sb-section > .sb-section-hint{color:var(--sb-muted);font-size:.85rem;margin:.1rem 0 1rem;}

/* ---- Campos ---- */
.sb-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem;}
.sb-field:last-child{margin-bottom:0;}
.sb-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
@media (max-width:560px){ .sb-row{grid-template-columns:1fr;} }
.sb-label{font-weight:600;font-size:.85rem;color:var(--sb-ink);}
.sb-label .sb-opt{color:var(--sb-muted);font-weight:400;}
.sb-input,.sb-select,.sb-textarea{
  width:100%;font:inherit;color:var(--sb-ink);background:var(--sb-surface-2);
  border:1px solid var(--sb-line);border-radius:var(--sb-radius-sm);
  padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s,background .15s;
}
.sb-textarea{min-height:112px;resize:vertical;line-height:1.5;}
.sb-input:focus,.sb-select:focus,.sb-textarea:focus{outline:none;border-color:var(--sb-gold);box-shadow:0 0 0 3px var(--sb-gold-soft);background:var(--sb-surface);}

/* Input de archivo nativo: el botón "Choose Files"/"Elegir archivos" del
   navegador no hereda ningún estilo del sitio por defecto. ::file-selector-button
   sí se puede maquillar; el resto del control queda con el mismo look .sb-input. */
.sb-input[type=file]{display:flex;align-items:center;padding:.45rem .5rem;color:var(--sb-muted);font-size:.85rem;cursor:pointer;}
.sb-input[type=file]::file-selector-button{
  appearance:none;border:0;border-radius:999px;padding:.5rem 1rem;margin-inline-end:.7rem;
  background:linear-gradient(135deg,var(--sb-gold),#c9871a);color:#1a1206;font:inherit;font-weight:600;
  cursor:pointer;transition:box-shadow .15s;
}
.sb-input[type=file]::file-selector-button:hover{box-shadow:0 8px 22px rgba(217,154,33,.35);}
.sb-help{font-size:.78rem;color:var(--sb-muted);}
.sb-field-help{margin:.38rem 0 0;color:var(--sb-muted);font-size:.72rem;line-height:1.45;}
.sb-feature-toggle{display:flex;align-items:flex-start;gap:.75rem;margin:.8rem 0 1rem;padding:.85rem .9rem;border:1px solid color-mix(in srgb,var(--sb-gold) 28%,var(--sb-line));border-radius:14px;background:linear-gradient(135deg,var(--sb-gold-soft),transparent);cursor:pointer;}
.sb-feature-toggle>input{position:absolute;opacity:0;pointer-events:none;}
.sb-feature-toggle-control{position:relative;flex:0 0 42px;width:42px;height:24px;margin-top:.05rem;border-radius:999px;background:var(--sb-line);box-shadow:inset 0 0 0 1px rgba(17,24,39,.08);transition:background .2s ease;}
.sb-feature-toggle-control::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(17,24,39,.22);transition:transform .2s ease;}
.sb-feature-toggle input:checked~.sb-feature-toggle-control{background:linear-gradient(135deg,var(--sb-gold),#bd7c12);}
.sb-feature-toggle input:checked~.sb-feature-toggle-control::after{transform:translateX(18px);}
[dir=rtl] .sb-feature-toggle input:checked~.sb-feature-toggle-control::after{transform:translateX(-18px);}
.sb-feature-toggle input:focus-visible~.sb-feature-toggle-control{outline:3px solid color-mix(in srgb,var(--sb-gold) 35%,transparent);outline-offset:2px;}
.sb-feature-toggle>span:last-child{display:grid;gap:.18rem;}
.sb-feature-toggle strong{font-size:.87rem;color:var(--sb-ink);}
.sb-feature-toggle small{color:var(--sb-muted);font-size:.72rem;line-height:1.45;}
.sb-hours-editor{display:flex;flex-direction:column;gap:.45rem;margin-top:.5rem;}
.sb-hours-row{display:grid;grid-template-columns:minmax(92px,1fr) 120px auto 120px minmax(100px,auto);gap:.5rem;align-items:center;padding:.45rem .55rem;border:1px solid var(--sb-line);border-radius:10px;background:var(--sb-surface-2);}
.sb-hours-row .sb-input{padding:.45rem .55rem;}
.sb-hours-closed{display:flex;align-items:center;gap:.35rem;color:var(--sb-muted);font-size:.82rem;white-space:nowrap;}
@media (max-width:680px){
  .sb-hours-row{grid-template-columns:1fr 1fr auto 1fr;}
  .sb-hours-row strong,.sb-hours-closed{grid-column:1/-1;}
}
.sb-count{font-size:.72rem;color:var(--sb-muted);text-align:end;}
.sb-input-group{display:flex;align-items:stretch;border:1px solid var(--sb-line);border-radius:var(--sb-radius-sm);background:var(--sb-surface-2);overflow:hidden;}
.sb-input-group:focus-within{border-color:var(--sb-gold);box-shadow:0 0 0 3px var(--sb-gold-soft);}
.sb-input-group .sb-prefix{display:flex;align-items:center;padding:0 .7rem;background:rgba(6,20,38,.05);color:var(--sb-muted);font-size:.85rem;white-space:nowrap;}
html[data-theme="dark"] .sb-input-group .sb-prefix{background:rgba(255,255,255,.06);}
.sb-input-group .sb-input{border:0;background:transparent;box-shadow:none;border-radius:0;}

/* ---- Errores de validación ---- */
.sb-errors{margin:0 0 1rem;padding:.85rem 1rem;border-radius:var(--sb-radius-sm);background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.3);color:#b03a2e;}
.sb-errors ul{margin:0;padding-inline-start:1.1rem;}
html[data-theme="dark"] .sb-errors{color:#ff9b8f;}

/* ---- Uploads (logo cuadrado + portada panorámica) ---- */
.sb-uploads{display:grid;grid-template-columns:150px 1fr;gap:.9rem;}
@media (max-width:560px){ .sb-uploads{grid-template-columns:1fr;} }
.sb-upload{position:relative;border:1.5px dashed var(--sb-line);border-radius:var(--sb-radius-sm);background:var(--sb-surface-2);display:grid;place-items:center;text-align:center;cursor:pointer;overflow:hidden;transition:border-color .15s,background .15s;}
.sb-upload:hover,.sb-upload:focus-within{border-color:var(--sb-gold);background:var(--sb-gold-soft);}
.sb-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;}
.sb-upload .sb-up-hint{padding:.75rem;color:var(--sb-muted);font-size:.78rem;}
.sb-upload .sb-up-hint b{display:block;color:var(--sb-ink);font-size:.85rem;margin-bottom:.15rem;}
.sb-upload .sb-up-preview{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;display:none;}
.sb-upload-cover .sb-up-preview{object-fit:contain;background:var(--sb-surface-2);}
.sb-upload.has-image .sb-up-preview{display:block;}
.sb-upload.has-image .sb-up-hint{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,rgba(0,0,0,.65));color:#fff;}
.sb-upload.has-image .sb-up-hint b{color:#fff;}
.sb-upload-logo{aspect-ratio:1;}
.sb-upload-cover{aspect-ratio:8/3;min-height:120px;}
.sb-upload-cover .sb-up-hint{line-height:1.45;}
.sb-upload-cover .sb-up-hint b{font-size:.9rem;}

/* ---- Botones ---- */
.sb-actions{display:flex;flex-wrap:wrap;gap:.6rem;padding:clamp(1rem,2.4vw,1.4rem);align-items:center;}
.sb-btn{appearance:none;border:1px solid var(--sb-line);background:var(--sb-surface);color:var(--sb-ink);font:inherit;font-weight:600;border-radius:999px;padding:.7rem 1.3rem;cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;transition:transform .12s,box-shadow .15s,background .15s;}
.sb-btn:hover{box-shadow:var(--sb-shadow);}
.sb-btn:active{transform:translateY(1px);}
.sb-btn-primary{background:linear-gradient(135deg,var(--sb-gold),#c9871a);color:#1a1206;border-color:transparent;box-shadow:0 8px 22px rgba(217,154,33,.35);}
.sb-btn-primary:hover{box-shadow:0 12px 30px rgba(217,154,33,.45);}
.sb-btn-ghost{background:transparent;}
.sb-btn[disabled]{opacity:.5;cursor:not-allowed;}
.sb-actions .sb-spacer{flex:1;}

/* ---- Preview en vivo (parecido a la página pública) ---- */
.sb-preview-col{position:sticky;top:1rem;}
.sb-preview-title{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sb-muted);font-weight:700;margin:0 0 .5rem .2rem;}
.sb-pv{background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius);overflow:hidden;box-shadow:var(--sb-shadow);}
.sb-pv-cover{aspect-ratio:8/3;background:var(--sb-surface-2);position:relative;}
.sb-pv-cover img{width:100%;height:100%;object-fit:contain;}
.sb-pv-body{padding:0 1rem 1.1rem;}
.sb-pv-logo{width:76px;height:76px;border-radius:16px;background:var(--sb-surface-2);border:3px solid var(--sb-surface);margin-top:-38px;overflow:hidden;display:grid;place-items:center;color:var(--sb-muted);font-family:var(--sb-serif);font-size:1.6rem;}
.sb-pv-logo img{width:100%;height:100%;object-fit:cover;}
.sb-pv-name{font-family:var(--sb-serif);font-size:1.25rem;margin:.6rem 0 .1rem;display:flex;align-items:center;gap:.35rem;}
.sb-pv-verified{color:var(--sb-gold);}
.sb-pv-meta{color:var(--sb-muted);font-size:.85rem;}
.sb-pv-tagline{margin:.5rem 0;color:var(--sb-ink);}
.sb-pv-desc{color:var(--sb-muted);font-size:.9rem;line-height:1.5;}
.sb-pv-cta{margin-top:.9rem;}
.sb-pv-cta .sb-btn-primary{width:100%;justify-content:center;pointer-events:none;}
.sb-contact-preview{margin-top:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--sb-gold) 34%,var(--sb-line));border-radius:18px;background:linear-gradient(145deg,var(--sb-surface),color-mix(in srgb,var(--sb-gold-soft) 38%,var(--sb-surface)));box-shadow:var(--sb-shadow);transition:opacity .2s ease,filter .2s ease;}
.sb-contact-preview.is-disabled{opacity:.58;filter:saturate(.55);}
.sb-contact-preview-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem;}
.sb-contact-preview-logo{width:38px;height:38px;flex:none;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(217,154,33,.5);border-radius:12px;background:#17130c;color:#f2cf70;}
.sb-contact-preview-logo img{width:100%;height:100%;object-fit:cover;}
.sb-contact-preview-head>div:nth-child(2){min-width:0;display:grid;flex:1;}
.sb-contact-preview-head small{color:var(--sb-gold);font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;}
.sb-contact-preview-head strong{font-family:var(--sb-serif);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sb-contact-preview-status{padding:.2rem .45rem;border-radius:999px;background:var(--sb-gold-soft);color:#8a5a0a;font-size:.59rem;font-weight:800;text-transform:uppercase;}
.sb-contact-preview h3{font-family:var(--sb-serif);font-size:1rem;margin:0 0 .25rem;}
.sb-contact-preview>p{margin:0 0 .7rem;color:var(--sb-muted);font-size:.7rem;line-height:1.45;}
.sb-contact-preview-input,.sb-contact-preview-textarea{display:block;margin:.38rem 0;padding:.52rem .6rem;border:1px solid var(--sb-line);border-radius:9px;background:var(--sb-surface);color:var(--sb-muted);font-size:.68rem;}
.sb-contact-preview-textarea{height:58px;}
.sb-contact-preview>.sb-btn{width:100%;justify-content:center;margin-top:.55rem;pointer-events:none;font-size:.72rem;}
.sb-contact-preview>.sb-btn svg{width:15px;height:15px;}

/* ---- Directorio público ---- */
.sb-dir-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;}
.sb-dir-head h1{font-family:var(--sb-serif);font-size:clamp(1.4rem,3vw,2rem);margin:0;}
.sb-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0 1.5rem;}
.sb-directory-search{background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius);padding:.75rem;box-shadow:var(--sb-shadow);margin-top:-.7rem;position:relative;z-index:2;}
.sb-filters .sb-input,.sb-filters .sb-select{max-width:none;}
.sb-search{flex:1;min-width:220px;}
.sb-category-strip{display:flex;gap:.55rem;overflow-x:auto;padding:.2rem 0 1.2rem;scrollbar-width:thin;}
.sb-category-pill{display:flex;align-items:center;gap:.65rem;white-space:nowrap;padding:.6rem .85rem;border:1px solid var(--sb-line);border-radius:999px;background:var(--sb-surface);color:var(--sb-ink);text-decoration:none;font-weight:650;}
.sb-category-pill b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 .4rem;border-radius:999px;background:var(--sb-surface-2);color:var(--sb-muted);font-size:.72rem;}
.sb-category-pill:hover,.sb-category-pill.is-active{border-color:var(--sb-gold);background:var(--sb-gold-soft);}
.sb-category-pill.is-active b{background:var(--sb-gold);color:#1a1206;}
.sb-directory-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:.5rem 0 1rem;}
.sb-directory-heading .sb-eyebrow{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sb-gold);font-weight:800;}
.sb-directory-heading h2{font-family:var(--sb-serif);font-size:clamp(1.35rem,3vw,1.9rem);margin:.1rem 0 0;}
.sb-directory-heading > span{color:var(--sb-muted);font-size:.85rem;}
.sb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.1rem;}
.sb-page-card{display:flex;flex-direction:column;background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--sb-shadow);transition:transform .15s,box-shadow .2s;}
.sb-page-card:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(6,20,38,.16);}
.sb-page-card .sb-pc-cover{height:96px;background:linear-gradient(135deg,var(--sb-navy),#0d2b4d);}
.sb-page-card .sb-pc-cover img{width:100%;height:100%;object-fit:cover;}
.sb-page-card .sb-pc-body{padding:.9rem;display:flex;gap:.75rem;}
.sb-page-card .sb-pc-logo{width:48px;height:48px;border-radius:12px;border:2px solid var(--sb-surface);margin-top:-32px;background:var(--sb-surface-2);overflow:hidden;flex:none;display:grid;place-items:center;color:var(--sb-muted);font-family:var(--sb-serif);}
.sb-page-card .sb-pc-logo img{width:100%;height:100%;object-fit:cover;}
.sb-page-card .sb-pc-name{font-weight:700;display:block;}
.sb-page-card .sb-pc-cat{color:var(--sb-muted);font-size:.8rem;}
.sb-page-card .sb-pc-tag{color:var(--sb-ink);font-size:.83rem;margin-top:.15rem;}
.sb-pc-foot{color:var(--sb-muted);font-size:.8rem;line-height:1.45;margin-top:.15rem;}

/* ---- Página pública Business: PORTADA e IDENTIDAD como capas separadas ---- */
.sb-page-cover{position:relative;aspect-ratio:8/3;border-radius:18px 18px 0 0;background:var(--sb-surface-2);overflow:hidden;box-shadow:var(--sb-shadow);}
.sb-page-cover img{width:100%;height:100%;object-fit:contain;display:block;}

/* Bloque de identidad: SUPERFICIE PROPIA con altura real, debajo de la portada.
   Solo el logo se superpone; el nombre/meta/acciones NO quedan sobre la portada. */
.sb-identity{position:relative;z-index:2;
  background:var(--sb-surface);border:1px solid var(--sb-line);border-top:0;border-radius:0 0 18px 18px;box-shadow:var(--sb-shadow);
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem 1.4rem;align-items:end;
  padding:0 clamp(1rem,2.5vw,1.9rem) 1.25rem;}
.sb-identity-logo{position:relative;z-index:3;
  width:clamp(104px,12vw,156px);height:clamp(104px,12vw,156px);border-radius:26px;border:6px solid var(--sb-surface);background:var(--sb-surface-2);overflow:hidden;box-shadow:var(--sb-shadow);
  margin-top:calc(-1 * clamp(52px,6vw,72px));display:grid;place-items:center;color:var(--sb-muted);font-family:var(--sb-serif);font-size:2.6rem;}
.sb-identity-logo img{width:100%;height:100%;object-fit:cover;}
.sb-identity-main{min-width:0;align-self:center;padding-top:.55rem;}
.sb-identity-name{font-family:var(--sb-serif);font-size:clamp(1.55rem,3vw,2.05rem);font-weight:800;line-height:1.12;margin:0;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;}
.sb-identity-name .sb-pv-verified{font-size:.85em;}
.sb-identity-tagline{color:var(--sb-ink);font-size:1.02rem;margin:.25rem 0 .4rem;}
.sb-meta-row{display:flex;flex-wrap:wrap;gap:.35rem .7rem;align-items:center;color:var(--sb-muted);font-size:.92rem;}
.sb-meta-row .sb-dot{opacity:.45;}
.sb-identity-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;align-self:center;justify-content:flex-end;}
@media (max-width:760px){
  .sb-identity{grid-template-columns:1fr;justify-items:start;gap:.35rem;padding-bottom:1rem;}
  .sb-identity-actions{width:100%;justify-content:flex-start;margin-top:.5rem;}
}

/* Cuerpo: info 360 + feed 1fr (visitante) / workspace + info + feed (propietario) */
.sb-page-body{display:grid;grid-template-columns:360px minmax(0,1fr);gap:1.35rem;align-items:start;margin-top:1.35rem;}
@media (max-width:960px){ .sb-page-body{grid-template-columns:1fr;} }

/* Columna lateral: cada bloque conserva una tarjeta propia y sale del viewport
   con el scroll normal; no se fija un panel alto que oculte contenido. */
.sb-sidebar{display:flex;flex-direction:column;gap:1.35rem;}
.sb-sidebar-panel{display:grid;gap:1rem;background:transparent;border:0;box-shadow:none;overflow:visible;}

/* Workspace del propietario */
.sb-workspace{position:sticky;top:1rem;background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius);box-shadow:var(--sb-shadow);padding:.5rem;}
.sb-workspace h3{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--sb-muted);margin:.7rem .6rem .35rem;}
.sb-ws-item{display:flex;align-items:center;gap:.65rem;padding:.62rem .7rem;border-radius:11px;color:var(--sb-ink);text-decoration:none;font-weight:600;font-size:.94rem;width:100%;background:transparent;border:0;cursor:pointer;font-family:inherit;text-align:start;}
.sb-ws-item:hover{background:var(--sb-gold-soft);}
.sb-ws-item .sb-i,.sb-sidebar-panel .sb-info-list li .sb-i{width:30px;height:30px;border:1px solid rgba(217,154,33,.28);border-radius:9px;background:var(--sb-gold-soft);color:#b77912;display:grid;place-items:center;flex:none;}
.sb-ws-item .sb-i svg,.sb-sidebar-panel .sb-info-list li .sb-i svg{width:17px;height:17px;stroke-width:1.65;}
.sb-sidebar-panel .sb-info-list li .sb-brand-medallion{background:var(--sb-surface);border-color:var(--sb-line);}
.sb-brand-svg{width:17px;height:17px;fill:currentColor;stroke:none!important;}
.sb-brand-svg.is-whatsapp{color:#25d366;}
.sb-brand-svg.is-instagram{color:#e4405f;}
.sb-brand-svg.is-facebook{color:#0866ff;}
.sb-brand-svg.is-linkedin{color:#0a66c2;}
.sb-brand-svg.is-x,.sb-brand-svg.is-tiktok{color:var(--sb-ink);}
.sb-brand-svg.is-youtube{color:#ff0000;}
.sb-brand-svg.is-telegram{color:#26a5e4;}
.sb-ws-item .sb-ws-val{margin-inline-start:auto;color:var(--sb-muted);font-weight:700;}
@media (max-width:1200px){ .sb-workspace{position:static;} }
.sb-info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem;}
.sb-info-list li{display:flex;gap:.55rem;color:var(--sb-ink);font-size:.9rem;align-items:flex-start;}
.sb-info-list li .sb-i{color:var(--sb-gold);flex:none;}
.sb-post{background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius-sm);padding:1rem;margin-bottom:.85rem;}
.sb-post .sb-post-time{color:var(--sb-muted);font-size:.78rem;}
.sb-post-head{display:flex;gap:.6rem;align-items:center;margin-bottom:.4rem;}
.sb-post-head > .sb-spacer{flex:1;}
.sb-post-manage .sb-menu{min-width:190px;}
.sb-post-manage .sb-menu form{margin:0;}
.sb-post-menu-toggle{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--sb-line);border-radius:10px;background:var(--sb-surface-2);color:var(--sb-muted);cursor:pointer;}
.sb-post-menu-toggle:hover{border-color:rgba(184,134,11,.38);background:var(--sb-gold-soft);color:var(--sb-gold);}
.sb-post-menu-toggle svg{width:19px;height:19px;stroke-width:1.8;}
.sb-menu .sb-ext-ic{display:grid;place-items:center;flex:0 0 22px;}
.sb-menu .sb-ext-ic svg{width:17px;height:17px;stroke-width:1.7;}
.sb-menu .sb-post-delete{color:#a33b35;}
.sb-post-edit-panel{margin:.85rem 0;background:linear-gradient(145deg,var(--sb-surface-2),var(--sb-surface));border-color:rgba(184,134,11,.24);}
.sb-post-edit-title{display:flex;align-items:center;gap:.55rem;margin-bottom:.75rem;font-family:var(--sb-serif);font-size:1.02rem;}
.sb-post-edit-title .sb-i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--sb-gold-soft);color:var(--sb-gold);}
.sb-post-edit-title .sb-i svg{width:17px;height:17px;}
.sb-post-edit-panel .sb-field{margin-bottom:.75rem;}
.sb-post-edit-panel textarea{min-height:110px;}
.sb-post-media-editor{margin:0 0 .8rem;padding:0;border:0;}
.sb-post-media-editor legend{margin-bottom:.45rem;color:var(--sb-muted);font-size:.8rem;font-weight:700;}
.sb-post-media-editor > div{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.45rem;}
.sb-post-media-editor label{display:flex;align-items:center;gap:.35rem;padding:.4rem;border:1px solid var(--sb-line);border-radius:10px;background:var(--sb-surface);color:var(--sb-muted);font-size:.75rem;cursor:pointer;}
.sb-post-media-editor input{accent-color:#a33b35;}
.sb-post-media-preview{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;overflow:hidden;border-radius:8px;background:var(--sb-surface-2);color:var(--sb-gold);}
.sb-post-media-preview img{width:100%;height:100%;object-fit:cover;}
.sb-post-media-preview svg{width:19px;height:19px;}
.sb-empty{text-align:center;color:var(--sb-muted);padding:2.5rem 1rem;border:1px dashed var(--sb-line);border-radius:var(--sb-radius-sm);}

/* ---- Panel "Mis páginas" ---- */
.sb-panel-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;}
.sb-panel-head h1{font-family:var(--sb-serif);margin:0;}
.sb-cap{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem;}
.sb-cap .sb-cap-tile{flex:1;min-width:140px;background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius-sm);padding:.9rem 1rem;box-shadow:var(--sb-shadow);}
.sb-cap .sb-cap-tile b{font-size:1.4rem;font-family:var(--sb-serif);display:block;}
.sb-cap .sb-cap-tile span{color:var(--sb-muted);font-size:.8rem;}
.sb-mine-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;}
.sb-mine-card{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius);padding:1.1rem;box-shadow:var(--sb-shadow);transition:box-shadow .2s;}
.sb-mine-card:hover{box-shadow:0 20px 48px rgba(6,20,38,.14);}
/* Avatar/logo reutilizable (mine, compositor, posts). NO scopear a .sb-mine-card:
   si el img no recibe width/height + overflow:hidden, la imagen del logo se
   renderiza a tamaño natural y desborda como "logo gigante" tras el contenido. */
.sb-mc-logo{width:56px;height:56px;border-radius:12px;background:var(--sb-surface-2);overflow:hidden;flex:none;display:grid;place-items:center;color:var(--sb-muted);}
.sb-mc-logo img{width:100%;height:100%;object-fit:cover;display:block;}
.sb-mine-card .sb-mc-body{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:.3rem;}
.sb-mine-card .sb-mc-head{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;}
.sb-mine-card .sb-mc-head strong{font-family:var(--sb-serif);font-size:1.08rem;}

/* ---- Chips de estado ---- */
.sb-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:700;padding:.18rem .6rem;border-radius:999px;}
.sb-badge.is-published{background:rgba(39,174,96,.14);color:#1e8449;}
.sb-badge.is-pending{background:var(--sb-gold-soft);color:#b9860f;}
.sb-badge.is-rejected,.sb-badge.is-suspended{background:rgba(192,57,43,.12);color:#c0392b;}
.sb-badge.is-draft,.sb-badge.is-paused,.sb-badge.is-archived,.sb-badge.is-changes_requested{background:rgba(102,112,133,.14);color:var(--sb-muted);}

/* ---- Alertas ---- */
.sb-alert{padding:.85rem 1rem;border-radius:var(--sb-radius-sm);margin-bottom:1rem;}
.sb-alert.is-success{background:rgba(39,174,96,.12);color:#1e8449;}
.sb-alert.is-warning{background:var(--sb-gold-soft);color:#b9860f;}

/* Aviso de upgrade: el botón sb-btn-primary (dorado) pierde contraste sobre un
   fondo también dorado (is-warning). Aquí el botón pasa a navy sólido con texto
   dorado, legible en claro y oscuro, y el bloque se apila en móvil. */
.sb-upgrade-nudge{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.sb-upgrade-nudge span{flex:1 1 220px;}
.sb-upgrade-nudge .sb-btn{background:var(--sb-navy);color:var(--sb-gold);border-color:transparent;box-shadow:0 8px 22px rgba(6,20,38,.25);flex:none;}
.sb-upgrade-nudge .sb-btn:hover{background:#0d2b4d;}
@media (max-width:560px){
  .sb-upgrade-nudge{flex-direction:column;align-items:stretch;}
  .sb-upgrade-nudge span{flex:none;}
  .sb-upgrade-nudge .sb-btn{justify-content:center;}
}

/* ---- Bloques enriquecidos de la página pública ---- */
.sb-followers{display:flex;align-items:center;gap:.5rem;margin-top:.55rem;}
.sb-follower-avatars{display:flex;}
.sb-follower-avatars a,.sb-follower-avatars span{width:30px;height:30px;border-radius:50%;border:2px solid var(--sb-surface);background:var(--sb-surface-2);overflow:hidden;margin-inline-start:-8px;display:grid;place-items:center;font-size:.7rem;color:var(--sb-muted);}
.sb-follower-avatars a:first-child,.sb-follower-avatars span:first-child{margin-inline-start:0;}
.sb-follower-avatars img{width:100%;height:100%;object-fit:cover;}
.sb-followers .sb-followers-count{color:var(--sb-muted);font-size:.88rem;}

.sb-manage-banner{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;background:linear-gradient(135deg,var(--sb-gold-soft),transparent);border:1px solid var(--sb-line);border-radius:var(--sb-radius);padding:.75rem 1rem;margin:1rem 0;}
.sb-manage-banner .sb-mc-logo{width:40px;height:40px;}
.sb-manage-banner .sb-mb-text{flex:1 1 180px;min-width:0;font-weight:600;}
@media (max-width:560px){
  .sb-manage-banner{flex-direction:column;align-items:stretch;}
  .sb-manage-banner .sb-mc-logo{display:none;}
  .sb-manage-banner .sb-mb-text{width:100%;flex:none;}
  .sb-manage-banner .sb-btn{flex:1;justify-content:center;}
}

.sb-detail-card{background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius);box-shadow:var(--sb-shadow);padding:1.1rem;}
.sb-sidebar-panel .sb-detail-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid color-mix(in srgb,var(--sb-gold) 22%,var(--sb-line));border-radius:18px;box-shadow:0 12px 32px rgba(17,24,39,.075);padding:1.2rem 1.25rem;background:linear-gradient(145deg,var(--sb-surface) 0%,var(--sb-surface) 78%,color-mix(in srgb,var(--sb-gold-soft) 34%,var(--sb-surface)) 100%);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
.sb-sidebar-panel .sb-detail-card::before{content:"";position:absolute;z-index:-1;inset-block-start:0;inset-inline:1.25rem;height:2px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--sb-gold),transparent);opacity:.78;}
@media (hover:hover) and (pointer:fine){
  .sb-sidebar-panel .sb-detail-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--sb-gold) 46%,var(--sb-line));box-shadow:0 17px 38px rgba(17,24,39,.11);}
}
.sb-detail-card h2{font-family:var(--sb-serif);font-size:1.1rem;margin:0 0 .6rem;}
.sb-sidebar-panel .sb-detail-card h2{display:flex;align-items:center;gap:.55rem;font-size:1.08rem;}
.sb-sidebar-panel .sb-detail-card h2::before{content:"";width:3px;height:1.1em;border-radius:999px;background:var(--sb-gold);flex:none;}
.sb-profile-card .sb-pv-desc{font-size:.94rem;line-height:1.7;}
.sb-sidebar-panel .sb-info-list{gap:.7rem;}
.sb-sidebar-panel .sb-info-list li{line-height:1.45;}
.sb-sidebar-panel .sb-info-list li .sb-i{text-align:center;}
.sb-contact-card .sb-info-list a{color:var(--sb-ink);text-decoration-color:rgba(217,154,33,.5);text-underline-offset:3px;overflow-wrap:anywhere;}
.sb-contact-card .sb-info-list a:hover{color:var(--sb-gold);}
.sb-contact-form-card{position:relative;isolation:isolate;overflow:hidden;}
.sb-contact-form-card::after{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#8a5a0a,var(--sb-gold),#f5dc91);z-index:-1;}
.sb-contact-form-brand{display:flex;align-items:center;gap:.7rem;margin:.15rem 0 1rem;}
.sb-contact-form-brand img,.sb-contact-form-brand>span{width:44px;height:44px;border-radius:14px;object-fit:cover;border:1px solid rgba(217,154,33,.55);box-shadow:0 7px 18px rgba(30,22,9,.14);}
.sb-contact-form-brand>span{display:grid;place-items:center;background:linear-gradient(145deg,#17130c,#3b2b0f);color:#f2cf70;font-family:var(--sb-serif);font-size:1.25rem;font-weight:800;}
.sb-contact-form-brand div{min-width:0;display:grid;gap:.12rem;}
.sb-contact-form-brand small{color:var(--sb-gold);font-size:.63rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;}
.sb-contact-form-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--sb-serif);font-size:.94rem;}
.sb-contact-form-intro{margin:-.1rem 0 .9rem;color:var(--sb-muted);font-size:.79rem;line-height:1.55;}
.sb-contact-form{display:grid;gap:.48rem;}
.sb-contact-form>label:not(.sb-contact-consent){margin-top:.2rem;color:var(--sb-muted);font-size:.7rem;font-weight:800;letter-spacing:.04em;}
.sb-contact-form .sb-input,.sb-contact-form .sb-textarea{font-size:.83rem;border-color:rgba(217,154,33,.23);background:color-mix(in srgb,var(--sb-surface) 94%,var(--sb-gold) 6%);}
.sb-contact-form .sb-textarea{min-height:112px;resize:vertical;}
.sb-contact-form .sb-btn{width:100%;justify-content:center;margin-top:.25rem;}
.sb-contact-form .sb-btn svg{width:17px;height:17px;}
.sb-contact-consent{display:flex;align-items:flex-start;gap:.5rem;margin:.25rem 0;color:var(--sb-muted);font-size:.68rem;line-height:1.45;}
.sb-contact-consent input{margin-top:.18rem;accent-color:var(--sb-gold);}
.sb-contact-notice{margin:0 0 .8rem;padding:.7rem .8rem;border-radius:12px;font-size:.76rem;font-weight:700;line-height:1.45;}
.sb-contact-notice.is-success{color:#17613b;background:rgba(42,157,99,.11);border:1px solid rgba(42,157,99,.25);}
.sb-contact-notice.is-error,.sb-field-error{color:#a33b35;}
.sb-contact-notice.is-error{background:rgba(190,64,55,.09);border:1px solid rgba(190,64,55,.22);}
.sb-field-error{margin:-.25rem 0 0;font-size:.68rem;}
.sb-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.sb-hours-list{margin:0;display:flex;flex-direction:column;gap:.4rem;}
.sb-hours-list div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--sb-line);padding-bottom:.35rem;}
.sb-hours-list div:last-child{border-bottom:0;padding-bottom:0;}
.sb-hours-list dt{font-weight:650;}
.sb-hours-list dd{margin:0;color:var(--sb-muted);font-variant-numeric:tabular-nums;}
.sb-story-card{background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius);padding:1.25rem;box-shadow:var(--sb-shadow);margin-bottom:1rem;}
.sb-story-card h2{font-family:var(--sb-serif);font-size:1.25rem;margin:0 0 .65rem;}
.sb-story-card > div{color:var(--sb-ink);line-height:1.7;white-space:pre-line;}
.sb-presentation-suite{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:1rem;margin-bottom:1rem;}
.sb-presentation-suite.is-single{grid-template-columns:1fr;}
.sb-editorial-card{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,var(--sb-surface) 0%,var(--sb-surface) 70%,rgba(184,134,11,.055) 100%);border:1px solid var(--sb-line);border-radius:var(--sb-radius);padding:1.35rem 1.4rem 1.45rem;box-shadow:var(--sb-shadow);}
.sb-editorial-card::before{content:"";position:absolute;z-index:-1;inset-block-start:0;inset-inline:0;height:3px;background:linear-gradient(90deg,transparent 0%,var(--sb-gold) 24%,#e0bd68 72%,transparent 100%);}
.sb-editorial-card--story{background:linear-gradient(145deg,var(--sb-surface) 0%,rgba(247,243,234,.82) 100%);}
.sb-editorial-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.85rem;border-bottom:1px solid color-mix(in srgb,var(--sb-gold) 24%,var(--sb-line));}
.sb-editorial-head h2{font-family:var(--sb-serif);font-size:1.22rem;line-height:1.2;letter-spacing:.01em;margin:0;color:var(--sb-ink);}
.sb-editorial-icon{display:grid;place-items:center;flex:0 0 2.45rem;width:2.45rem;height:2.45rem;border:1px solid rgba(184,134,11,.32);border-radius:50%;color:var(--sb-gold);background:linear-gradient(145deg,#fffdf8,#f5ecda);box-shadow:0 5px 14px rgba(34,46,64,.08);}
.sb-editorial-icon svg{width:1.18rem;height:1.18rem;stroke-width:1.6;}
.sb-business-description,.sb-business-story{color:var(--sb-ink);font-size:.98rem;line-height:1.78;white-space:pre-line;}
.sb-business-description,.sb-business-story{overflow-wrap:anywhere;}

@media(max-width:760px){
  .sb-presentation-suite{grid-template-columns:1fr;}
}

.sb-photos-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;}
.sb-photos-grid.is-single{grid-template-columns:1fr;}
.sb-photos-grid a{display:block;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--sb-surface-2);}
.sb-photos-grid.is-single a{aspect-ratio:16/9;}
.sb-photos-grid img{width:100%;height:100%;object-fit:cover;display:block;}

.sb-posts-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.85rem;}
.sb-posts-head h2{font-family:var(--sb-serif);font-size:1.25rem;margin:0;}
.sb-filter-chips{display:flex;gap:.35rem;}
.sb-chip{padding:.3rem .8rem;border-radius:999px;border:1px solid var(--sb-line);background:var(--sb-surface);color:var(--sb-muted);font-size:.85rem;font-weight:600;text-decoration:none;}
.sb-chip.is-active{background:var(--sb-gold);color:#1a1206;border-color:transparent;}
.sb-posts-head form{display:flex;flex:1;min-width:160px;}
.sb-posts-head input[type=search]{flex:1;}

.sb-post-foot{display:flex;gap:1rem;align-items:center;color:var(--sb-muted);font-size:.85rem;margin-top:.7rem;}
.sb-post-foot .sb-spacer{flex:1;}
.sb-count-btn{background:transparent;border:0;color:var(--sb-muted);font:inherit;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:.3rem;}
.sb-count-btn:hover{color:var(--sb-gold);text-decoration:underline;}
.sb-people-row{display:flex;align-items:center;gap:.55rem;padding:.35rem .2rem;}
.sb-people-row .sb-c-avatar{width:32px;height:32px;}
.sb-people-row a{color:inherit;text-decoration:none;font-weight:600;}
.sb-people-row .sb-people-emoji{margin-inline-start:auto;font-size:1.1rem;}
.sb-ext-ic{width:22px;text-align:center;}

/* ===== Componente ÚNICO de menú desplegable (mismo estilo en todos los casos) ===== */
.sb-menu-wrap{position:relative;}
.sb-menu{position:absolute;inset-inline-end:0;top:calc(100% + 6px);background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:12px;box-shadow:var(--sb-shadow);padding:.35rem;min-width:210px;z-index:20;display:none;}
.sb-menu.opens-up{top:auto;bottom:calc(100% + 6px);}
.sb-menu-wrap.is-open .sb-menu{display:block;}
.sb-menu a,.sb-menu button{display:flex;align-items:center;gap:.55rem;width:100%;padding:.5rem .6rem;border-radius:9px;background:transparent;border:0;color:var(--sb-ink);font:inherit;font-weight:600;text-decoration:none;text-align:start;cursor:pointer;}
.sb-menu a:hover,.sb-menu button:hover{background:var(--sb-gold-soft);}
.sb-menu .sb-ext-ic{width:22px;text-align:center;}

/* Barra de interacción (reutiliza rutas del feed de SpherePost) */
.sb-actbar{display:flex;gap:.25rem;border-top:1px solid var(--sb-line);border-bottom:1px solid var(--sb-line);margin-top:.55rem;padding:.25rem 0;}
.sb-actbar form{flex:1;display:flex;margin:0;}
.sb-actbtn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem;border-radius:10px;background:transparent;border:0;color:var(--sb-muted);font:inherit;font-weight:600;cursor:pointer;}
.sb-actbtn:hover{background:var(--sb-gold-soft);}
.sb-actbtn.is-on{color:var(--sb-gold);}
.sb-react{position:relative;flex:1;display:flex;}
.sb-react-tray{position:absolute;bottom:calc(100% + 6px);inset-inline-start:0;background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:999px;box-shadow:var(--sb-shadow);display:none;gap:.15rem;padding:.3rem .45rem;z-index:15;}
.sb-react.is-open .sb-react-tray{display:flex;}
.sb-react-tray form{margin:0;}
.sb-react-tray button{background:transparent;border:0;font-size:1.45rem;line-height:1;cursor:pointer;padding:.1rem .25rem;border-radius:8px;transition:transform .1s;}
.sb-react-tray button:hover{transform:scale(1.35);}
.sb-comments{margin-top:.6rem;display:flex;flex-direction:column;gap:.45rem;}
.sb-comment{display:flex;gap:.5rem;}
/* Avatar reutilizable GLOBAL (comentarios, reacciones, enviar): recorta y
   dimensiona el <img> en todos los casos, no solo dentro de .sb-comment. */
.sb-c-avatar{width:30px;height:30px;border-radius:50%;background:var(--sb-surface-2);overflow:hidden;flex:none;display:grid;place-items:center;color:var(--sb-muted);font-size:.75rem;}
.sb-c-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.sb-comment .sb-c-body{background:var(--sb-surface-2);border-radius:12px;padding:.45rem .7rem;font-size:.9rem;}
.sb-comment .sb-c-body b{display:block;font-size:.8rem;}
.sb-comment-form{display:flex;gap:.5rem;margin-top:.5rem;}
.sb-comment-form input{flex:1;}
.sb-panel{border:1px solid var(--sb-line);border-radius:12px;padding:.75rem;margin-top:.55rem;background:var(--sb-surface-2);}
.sb-panel[hidden]{display:none;}
.sb-send-list{display:flex;flex-direction:column;gap:.25rem;max-height:230px;overflow:auto;margin-bottom:.5rem;}
.sb-send-person{display:flex;align-items:center;gap:.55rem;padding:.4rem .5rem;border-radius:10px;cursor:pointer;}
.sb-send-person:hover{background:var(--sb-gold-soft);}
.sb-send-person input{accent-color:var(--sb-gold);}
.sb-send-person .sb-c-avatar{width:34px;height:34px;}
.sb-morelink{display:inline-block;margin-top:.4rem;font-size:.83rem;}

/* Lightbox de fotos */
.sb-lightbox{position:fixed;inset:0;background:rgba(6,20,38,.94);z-index:9999;display:none;align-items:center;justify-content:center;padding:2rem;}
.sb-lightbox.is-open{display:flex;}
.sb-lightbox img{max-width:92vw;max-height:84vh;object-fit:contain;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.sb-lb-btn{position:absolute;background:rgba(255,255,255,.14);border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:grid;place-items:center;}
.sb-lb-btn:hover{background:rgba(217,154,33,.5);}
.sb-lb-close{top:1.1rem;inset-inline-end:1.1rem;}
.sb-lb-prev{inset-inline-start:1.1rem;top:calc(50% - 24px);}
.sb-lb-next{inset-inline-end:1.1rem;top:calc(50% - 24px);}
.sb-photos-grid a{cursor:zoom-in;}

/* El menú "Más" y "Compartir" usan el componente único .sb-menu-wrap/.sb-menu. */

/* ---- Panel de edición (dashboard) ---- */
.sb-edit-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.35rem;align-items:start;}
@media (max-width:960px){ .sb-edit-grid{grid-template-columns:1fr;} }
.sb-edit-nav{position:sticky;top:1rem;background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius);box-shadow:var(--sb-shadow);padding:.5rem;}
@media (max-width:960px){ .sb-edit-nav{position:static;display:flex;gap:.25rem;overflow-x:auto;} }
.sb-edit-nav a{display:flex;align-items:center;gap:.6rem;padding:.62rem .75rem;border-radius:11px;color:var(--sb-ink);text-decoration:none;font-weight:600;font-size:.94rem;white-space:nowrap;}
.sb-edit-nav a:hover{background:var(--sb-gold-soft);}
.sb-edit-nav a .sb-i{width:28px;height:28px;border:1px solid rgba(217,154,33,.28);border-radius:8px;background:var(--sb-gold-soft);color:#b77912;display:grid;place-items:center;flex:none;}
.sb-edit-nav a .sb-i svg{width:16px;height:16px;stroke-width:1.65;}
.sb-map-preview{display:inline-flex;align-items:center;gap:.4rem;margin:.55rem 0 .9rem;color:var(--sb-gold);font-size:.85rem;font-weight:700;text-decoration:none;}
.sb-map-preview svg{width:18px;height:18px;}
.sb-savebar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:.6rem;background:var(--sb-surface);border:1px solid var(--sb-line);border-radius:var(--sb-radius);box-shadow:0 -8px 28px rgba(6,20,38,.12);padding:.7rem 1rem;margin-top:1rem;}
.sb-edit-section{scroll-margin-top:1rem;}
.sb-edit-section > h2{font-family:var(--sb-serif);font-size:1.2rem;margin:0 0 .1rem;}

/* ---- RTL ---- */
[dir="rtl"] .sb-hero .sb-eyebrow{letter-spacing:normal;}
[dir="rtl"] .sb-count{text-align:start;}

@media (prefers-reduced-motion:reduce){
  .sb-btn,.sb-page-card,.sb-progress-fill{transition:none;}
}
