:root{
  --bg:#f7f8fa;--surface:#fff;--text:#15181d;--muted:#68707c;--accent:#111827;--border:#e5e7eb;
  --danger:#b42318;--danger-bg:#fff1f0;--success:#067647;--success-bg:#ecfdf3;
  --business-primary:#111827;--business-secondary:#f3f4f6;--business-text:#15181d;
}
*{box-sizing:border-box}
html{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
body{margin:0}
button,input,select,textarea{font:inherit}
.container{width:min(1120px,calc(100% - 32px));margin:auto}
.site-header,.business-header{background:rgba(255,255,255,.96);border-bottom:1px solid var(--border)}
.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{color:var(--text);text-decoration:none;font-weight:700}.brand strong{font-weight:900}
.text-link{color:var(--text);text-decoration:none;font-weight:700}
.text-button{border:0;background:transparent;color:var(--text);font-weight:700;cursor:pointer}
.eyebrow{display:inline-block;font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.hero{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:72px 0}.hero-inner{max-width:760px;text-align:center}
h1{font-size:clamp(2.5rem,7vw,5.5rem);line-height:.98;letter-spacing:-.055em;margin:0 0 24px}
.lead{font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.6;color:var(--muted);margin:0 auto 30px;max-width:680px}
.price{font-size:clamp(2.3rem,5vw,4rem);font-weight:900;margin-bottom:24px}
.price span{font-size:1rem;font-weight:700;color:var(--muted)}
.cta,.secondary-btn,.danger-btn{display:inline-block;border:0;border-radius:14px;text-decoration:none;font-weight:800;font-size:1rem;padding:14px 20px;cursor:pointer}
.cta{background:var(--accent);color:#fff}.secondary-btn{background:#fff;color:var(--text);border:1px solid var(--border)}.danger-btn{background:#fff;color:var(--danger);border:1px solid #fecaca}
.cta-block{width:100%;text-align:center}.footer{padding:24px 0;border-top:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.85rem}
.auth-wrap{min-height:calc(100vh - 68px);display:grid;place-items:center;padding:40px 16px}
.auth-card,.panel-card{width:min(100%,560px);background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:28px;box-shadow:0 14px 40px rgba(15,23,42,.06)}
.wide-card{width:min(100%,760px)}
.auth-title,.panel-title{font-size:clamp(2rem,6vw,3rem);line-height:1.05;letter-spacing:-.045em;margin:0 0 10px}
.auth-subtitle,.panel-subtitle{color:var(--muted);line-height:1.6}
.form-stack{display:grid;gap:16px}.form-stack label{display:grid;gap:8px;font-weight:700}
.form-stack input,.form-stack select,.form-stack textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:13px 14px;background:#fff;color:var(--text);outline:none}
.alert{border-radius:12px;padding:13px 15px;margin-bottom:18px}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid #ffd4d2}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid #abefc6}
.panel-wrap{padding:40px 0 70px}.panel-shell{max-width:960px}.panel-card{width:100%;max-width:none;margin-bottom:18px}
.template-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.template-option{display:grid!important;gap:8px!important;border:1px solid var(--border);border-radius:16px;padding:12px;cursor:pointer}
.template-option input{width:auto!important}
.template-option>span{font-size:.82rem;color:var(--muted);font-weight:500}
.template-preview{height:150px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}
.tp-header{height:18px;background:#e5e7eb}.tp-hero{height:58px;background:#d1d5db}
.tp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px}
.tp-grid span{display:block;height:46px;background:#e5e7eb;border-radius:6px}
.template-profesional .tp-hero{height:44px;background:#f3f4f6;border-bottom:1px solid #e5e7eb}
.template-profesional .tp-grid{grid-template-columns:1fr}
.template-profesional .tp-grid span{height:20px}
.template-catalogo .tp-grid span{height:60px}
.template-minimal .tp-header{background:#fff}.template-minimal .tp-hero{height:42px;background:#fafafa}
.template-minimal .tp-grid{grid-template-columns:1fr 1fr}.template-minimal .tp-grid span{height:34px;background:#f3f4f6}
.template-elegante .tp-header{background:#d6d3d1}.template-elegante .tp-hero{height:70px;background:#a8a29e}
.template-elegante .tp-grid{grid-template-columns:1fr 1fr}.template-elegante .tp-grid span{height:42px}
.template-promocional .tp-header{background:#fde68a}.template-promocional .tp-hero{height:62px;background:#f59e0b}
.template-promocional .tp-grid{grid-template-columns:repeat(3,1fr)}.template-promocional .tp-grid span{height:52px}
.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.color-grid.three-colors{grid-template-columns:repeat(3,1fr)}
.color-grid input[type="color"]{padding:2px;height:52px}
.color-grid small{font-weight:500;color:var(--muted);line-height:1.35}
.color-tip{background:#f9fafb;border:1px solid var(--border);border-radius:12px;padding:12px 14px;color:var(--muted)}
.preview-bar{background:#fff7ed;border-bottom:1px solid #fed7aa;text-align:center;padding:9px 14px;font-size:.85rem;font-weight:800;color:#9a3412}

/* Public shared */
.business-page{color:var(--business-text)}
.business-page .public-section,
.business-page .public-card-body,
.business-page .info-public-grid>div,
.business-page .hours-public,
.business-page .footer{color:var(--business-text)}
.public-hero{min-height:68vh;display:grid;place-items:center;padding:70px 0;background:var(--business-secondary) center/cover no-repeat}
.public-hero-inner{text-align:center}
.public-hero[style] .public-hero-inner,.public-hero[style] .eyebrow,.public-hero[style] .lead{color:#fff}
.public-logo{width:100px;height:100px;border-radius:24px;object-fit:cover;background:#fff;margin-bottom:16px}
.public-hero h1{font-size:clamp(2.8rem,9vw,6rem)}
.business-cta{background:var(--business-primary)!important}
.public-section{padding:56px 0}.public-section.alt{background:var(--business-secondary)}
.public-section h2{font-size:clamp(1.8rem,4vw,2.6rem);margin:0 0 24px}
.items-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.public-card{background:#fff;border:1px solid var(--border);border-radius:20px;overflow:hidden}
.public-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.public-card-body{padding:18px}
.public-card h3{margin:0 0 8px}
.public-card p{color:var(--business-text);opacity:.78;line-height:1.5}
.public-price{display:block;font-size:1.3rem;margin:10px 0;color:var(--business-primary)}
.mini-link{display:inline-block;color:var(--business-primary);font-weight:800;margin-top:8px}
.public-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.public-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px}
.info-public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.info-public-grid>div{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px}
.info-public-grid p{opacity:.78}
.hours-public{max-width:620px}
.hours-public div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--border)}
.social-links{display:flex;gap:10px;flex-wrap:wrap}
.social-links a{padding:12px 16px;border:1px solid var(--border);border-radius:999px;color:var(--business-primary);text-decoration:none;font-weight:800}
.floating-wa{position:fixed;right:18px;bottom:18px;background:var(--business-primary);color:#fff;padding:14px 18px;border-radius:999px;text-decoration:none;font-weight:900;box-shadow:0 8px 28px rgba(0,0,0,.18)}

/* 1 VISUAL */
.template-visual .public-hero{min-height:78vh}
.template-visual .public-card{border-radius:24px}
.template-visual .public-card img{aspect-ratio:1/1}
.template-visual .public-gallery img{border-radius:20px}

/* 2 PROFESIONAL */
.template-profesional .public-hero{min-height:52vh;background:var(--business-secondary)!important}
.template-profesional .public-hero[style]{background-image:none!important}
.template-profesional .public-hero-inner,.template-profesional .public-hero .eyebrow,.template-profesional .public-hero .lead{color:var(--business-text)!important}
.template-profesional .public-logo{border-radius:50%;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.template-profesional .items-grid{grid-template-columns:1fr}
.template-profesional .public-card{display:grid;grid-template-columns:180px 1fr;border-radius:14px}
.template-profesional .public-card img{height:100%;aspect-ratio:auto}
.template-profesional .public-gallery{grid-template-columns:repeat(3,1fr)}

/* 3 CATALOGO */
.template-catalogo .public-hero{min-height:48vh}
.template-catalogo .items-grid{grid-template-columns:repeat(4,1fr)}
.template-catalogo .public-card{border-radius:14px}
.template-catalogo .public-card img{aspect-ratio:1/1}
.template-catalogo .public-card-body{padding:14px}
.template-catalogo .public-card h3{font-size:1rem}
.template-catalogo .public-price{font-size:1.15rem}

/* 4 MINIMAL */
.template-minimal .business-header{border-bottom:0}
.template-minimal .public-hero{min-height:44vh;background:#fff!important}
.template-minimal .public-hero[style]{background-image:none!important}
.template-minimal .public-hero-inner,.template-minimal .public-hero .eyebrow,.template-minimal .public-hero .lead{color:var(--business-text)!important}
.template-minimal .public-logo{width:80px;height:80px;border-radius:14px}
.template-minimal .public-section{padding:42px 0}
.template-minimal .public-section.alt{background:#fafafa}
.template-minimal .public-card{border-radius:10px;box-shadow:none}
.template-minimal .items-grid{grid-template-columns:repeat(2,1fr)}
.template-minimal .public-gallery img{border-radius:8px}

/* 5 ELEGANTE */
.template-elegante .public-hero{min-height:70vh}
.template-elegante .public-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.03em}
.template-elegante .public-section h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}
.template-elegante .public-card{border-radius:0;border-color:rgba(0,0,0,.12)}
.template-elegante .public-card img{aspect-ratio:3/4}
.template-elegante .items-grid{grid-template-columns:repeat(3,1fr)}
.template-elegante .public-gallery{grid-template-columns:repeat(3,1fr)}
.template-elegante .public-gallery img{border-radius:0;aspect-ratio:3/4}
.template-elegante .business-cta{border-radius:2px}

/* 6 PROMOCIONAL */
.template-promocional .public-hero{min-height:72vh}
.template-promocional .public-hero h1{text-transform:uppercase;font-weight:950}
.template-promocional .business-cta{font-size:1.1rem;padding:17px 28px;border-radius:999px}
.template-promocional .public-section h2{text-transform:uppercase;letter-spacing:.03em}
.template-promocional .public-card{border:2px solid var(--business-primary);border-radius:22px}
.template-promocional .public-price{font-size:1.55rem;font-weight:950}
.template-promocional .mini-link{background:var(--business-primary);color:#fff;padding:10px 14px;border-radius:999px;text-decoration:none}
.template-promocional .public-gallery img{border:3px solid #fff;box-shadow:0 8px 20px rgba(0,0,0,.08)}

@media(max-width:900px){
  .template-picker{grid-template-columns:repeat(2,1fr)}
  .template-catalogo .items-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .template-picker,.color-grid.three-colors{grid-template-columns:1fr}
  .items-grid,.info-public-grid{grid-template-columns:1fr}
  .public-gallery{grid-template-columns:1fr 1fr}
  .template-profesional .public-card{grid-template-columns:1fr}
  .template-profesional .public-card img{aspect-ratio:4/3}
  .template-catalogo .items-grid{grid-template-columns:1fr 1fr}
  .template-minimal .items-grid{grid-template-columns:1fr}
  .template-elegante .items-grid{grid-template-columns:1fr}
}
