.sh-publish-wrap{
	max-width:608px; /* 560px de contenido + 24px de padding a cada lado */
	margin:0 auto;
	padding:0 clamp(16px,4vw,24px);
	box-sizing:border-box;
	font-family:'Inter', sans-serif;
}

/* Tarjeta del formulario de 4 pasos: separa el aviso y los puntos de progreso
   (que no van dentro de la tarjeta) del formulario en sí, que sí la lleva. */
.sh-publish-card{
	background:#fff;
	border:1px solid #ece6da;
	border-radius:16px;
	padding:clamp(22px,5vw,32px);
	box-shadow:0 6px 20px rgba(20,15,10,.05);
	transition:box-shadow .25s ease, transform .25s ease;
	scroll-margin-top:24px; /* aire entre el borde superior de la ventana y la tarjeta al hacer scroll-into-view entre pasos */
}
.sh-publish-card:hover{
	box-shadow:0 14px 34px rgba(20,15,10,.1);
	transform:translateY(-2px);
}

.sh-publish-aviso{
	margin-bottom:28px;
	padding-top:8px;
}
/* Las tarjetas de planes son más anchas que el formulario: se centran sobre el mismo eje que él */
.sh-publish-aviso{
	width:min(1100px, calc(100vw - 32px));
	position:relative;
	left:50%;
	transform:translateX(-50%);
}
.sh-publish-aviso-title{
	font-family:'Fraunces', serif;
	font-weight:500;
	font-size:1.1rem;
	line-height:1.3;
	text-align:center;
	color:#1c130d;
	margin:0 0 14px;
}

.sh-progress{
	display:flex;
	justify-content:center;
	gap:14px;
	margin-bottom:28px;
}
.sh-step-dot{
	width:30px; height:30px;
	border-radius:50%;
	display:flex; align-items:center; justify-content:center;
	background:#eee;
	color:#999;
	font-size:13px;
	font-weight:600;
	transition:background .2s ease, color .2s ease;
}
.sh-step-dot.is-active{
	background:#c1391f;
	color:#fff;
}
.sh-step-dot.is-done{
	background:#e8b360;
	color:#3a2a12;
}

.sh-form-step{ display:none; }
.sh-form-step.is-active{ display:block; }

.sh-form-step h3{
	font-family:'Fraunces', serif;
	font-weight:500;
	font-size:1.4rem;
	margin-bottom:18px;
	color:#1c130d;
}

.sh-field{ margin-bottom:16px; }
.sh-field-row{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:14px;
}
.sh-field-row .sh-field-small{ grid-column:span 1; max-width:120px; }
.sh-field-row-3{ grid-template-columns:1fr 1fr 1fr; }

.sh-field-group-title{
	font-family:'Inter', sans-serif;
	font-size:.82rem;
	font-weight:700;
	text-transform:uppercase;
	letter-spacing:.03em;
	color:#8a8378;
	margin:4px 0 10px;
}

.sh-field select:disabled,
.sh-field input:disabled{
	background-color:#f4f1ea;
	color:#8a8378;
	cursor:not-allowed;
}

.sh-field label{
	display:block;
	font-size:.82rem;
	font-weight:600;
	color:#5a5148;
	margin-bottom:5px;
}
.sh-field input,
.sh-field select,
.sh-field textarea{
	width:100%;
	padding:10px 13px;
	border:1px solid #ddd6cb;
	border-radius:8px;
	font-family:'Inter', sans-serif;
	font-size:.95rem;
	line-height:1.4;
	color:#221a12;
	box-sizing:border-box;
	appearance:none;
	-webkit-appearance:none;
	accent-color:#c1391f;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235a5148' stroke-width='1.5' fill='none' fill-rule='evenodd' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 13px center;
}
.sh-field input[type="text"],
.sh-field input[type="number"],
.sh-field input[type="tel"],
.sh-field input[type="email"],
.sh-field input[type="url"],
.sh-field textarea{
	background-image:none;
	padding:11px 13px;
}
.sh-field input:focus,
.sh-field select:focus,
.sh-field textarea:focus{
	outline:none;
	border-color:#c1391f;
}

.sh-hint{
	font-size:.88rem;
	color:#8a8378;
	margin-bottom:14px;
}

.sh-error{
	background:#f8dcd8;
	color:#a52e17;
	padding:12px 14px;
	border-radius:8px;
	font-size:.88rem;
	margin-bottom:14px;
}

.sh-nav{
	display:flex;
	justify-content:space-between;
	margin-top:22px;
}

.sh-btn-next, .sh-btn-submit{
	background:#c1391f !important;
	color:#fff !important;
	border:none !important;
	padding:12px 26px;
	border-radius:100px !important;
	font-weight:600;
	font-size:.95rem;
	cursor:pointer;
	transition:background .2s ease;
}
.sh-btn-next:hover, .sh-btn-submit:hover{ background:#a52e17 !important; }
.sh-btn-submit{ border-radius:20px !important; }

.sh-btn-back{
	background:transparent;
	border:1px solid #ddd6cb;
	color:#5a5148;
	padding:12px 22px;
	border-radius:100px;
	font-size:.95rem;
	cursor:pointer;
}

.sh-honeypot{ position:absolute; left:-9999px; }

.sh-form-success{
	text-align:center;
	padding:30px 10px;
}
.sh-form-success h3{
	font-family:'Fraunces', serif;
	font-size:1.5rem;
	color:#1c130d;
	margin-bottom:10px;
}
.sh-form-success p{ color:#5a5148; }

@media (max-width:520px){
	.sh-field-row{ grid-template-columns:1fr; }
}
