/* Página de Sofás – HomeDreams 9-oct-2026 */
.hd-sofas { --o:#3d3c3c; --g:#f5f4f2; --l:#e6e4e0; --v:#8cc63f; color:#4a4a4a; }
.hd-sofas .hd-wrap { max-width:1240px; margin:0 auto; padding:0 24px; }
/* la cabecera estándar del tema no se usa aquí: se sustituye por la banda */
.hd-sofas-portada .single-featured-image-header { display:none; }
.hd-sofas-portada .site-content { padding-top:0 !important; }

.hd-banda { height:470px; overflow:hidden; background:#d9d6d1; }
.hd-banda img { width:100%; height:100%; object-fit:cover; object-position:50% 62%; display:block; }

.hd-titular { text-align:center; padding:30px 24px 10px; }
.hd-titular h1 { font-size:44px; font-weight:600; color:var(--o); margin:0 0 6px; padding:0; letter-spacing:normal; text-transform:none; }
.hd-titular > p { color:#666; font-size:18px; margin:0 0 18px; }
.hd-iconos { display:flex; justify-content:center; gap:34px; flex-wrap:wrap; margin:6px 0 10px; }
.hd-iconos div { display:flex; flex-direction:column; align-items:center; gap:8px; width:130px; text-align:center; }
.hd-iconos svg { width:52px; height:52px; padding:13px; border-radius:50%; background:var(--g); fill:none; stroke:var(--o); stroke-width:1.6; }
.hd-iconos span { font-size:13px; line-height:1.35; color:#555; }

.hd-pasos { background:var(--g); margin:34px 0 10px; padding:40px 0; }
.hd-pasos h2, .hd-bloque h2 { font-size:26px; font-weight:600; color:var(--o); margin:0 0 6px; padding:0; letter-spacing:normal; text-transform:none; }
.hd-pasos h2 { text-align:center; margin-bottom:26px; }
.hd-grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.hd-paso { background:#fff; border-radius:8px; padding:24px; }
.hd-paso b { display:inline-flex; width:36px; height:36px; border-radius:50%; background:var(--v); color:#fff; align-items:center; justify-content:center; margin-bottom:10px; }
.hd-paso h3 { font-size:17px; font-weight:600; color:var(--o); margin:0 0 6px; padding:0; letter-spacing:normal; text-transform:none; }
.hd-paso p { font-size:14px; color:#666; margin:0; }
.hd-centro { text-align:center; margin-top:26px; }
.hd-btn-osc { display:inline-block; background:var(--o); color:#fff !important; padding:12px 26px; border-radius:4px; font-weight:500; font-size:15px; box-shadow:none !important; text-decoration:none !important; }
.hd-btn-osc:hover { background:#222; }
.hd-nota { text-align:center; color:#888; font-size:13px; margin:14px 0 0; }

.hd-bloque { margin:44px auto; }
.hd-sub { color:#999; font-size:14px; margin:0 0 18px; }
.hd-grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.hd-cat, .hd-prod { display:block; color:inherit; box-shadow:none !important; text-decoration:none !important; }
.hd-foto { position:relative; aspect-ratio:5/4; border-radius:6px; overflow:hidden; border:1px solid var(--l); background:#fff; }
.hd-foto img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.hd-cat:hover img, .hd-prod:hover img { transform:scale(1.04); }
.hd-cat .hd-foto::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.6)); }
.hd-cat .hd-foto span { position:absolute; left:14px; bottom:10px; z-index:1; color:#fff; font-weight:600; font-size:19px; }
.hd-cat small { display:block; margin-top:8px; color:var(--o); font-weight:500; font-size:14px; }
.hd-prod h3 { font-size:16px; font-weight:500; color:var(--o); margin:10px 0 0; padding:0; letter-spacing:normal; text-transform:none; }
.hd-prod small { color:#888; font-size:13px; }
.hd-foto em { position:absolute; left:10px; top:10px; background:var(--v); color:#fff; font-style:normal; font-size:12px; font-weight:600; padding:3px 10px; border-radius:20px; }

.hd-texto { text-align:center; max-width:860px; border-top:1px solid var(--l); padding:40px 24px 60px; margin-top:20px; }
.hd-texto h2 { font-size:22px; font-weight:600; color:var(--o); margin:0 0 12px; padding:0; letter-spacing:normal; text-transform:none; }
.hd-texto p { color:#555; margin:0 0 12px; }

@media (max-width: 800px) {
	.hd-banda { height:auto; aspect-ratio:2/1; }
	.hd-banda img { object-position:50% 100%; }
	.hd-titular h1 { font-size:32px; }
	.hd-titular > p { font-size:15px; }
	.hd-iconos { gap:14px; }
	.hd-iconos div { width:96px; }
	.hd-iconos svg { width:46px; height:46px; padding:11px; }
	.hd-grid3 { grid-template-columns:1fr; }
	.hd-grid4 { grid-template-columns:1fr 1fr; gap:14px; }
	.hd-cat .hd-foto span { font-size:15px; left:10px; bottom:8px; }
}

/* espaciado (ajuste): estas reglas deben ganar a ".hd-sofas .hd-wrap" */
.hd-sofas .hd-titular { padding-top:36px; }
.hd-sofas .hd-bloque { margin:56px auto 0; }
.hd-sofas .hd-texto { max-width:860px; margin:64px auto 0; padding:44px 24px 70px; }
@media (max-width: 800px) {
	.hd-sofas .hd-bloque { margin-top:40px; }
	.hd-sofas .hd-texto { margin-top:44px; }
}

/* Secciones de Sofás (?categoria=) – HomeDreams 9-oct-2026 */
.hd-sofas .hd-migas { color:#999; font-size:13px; margin-bottom:2px; }
.hd-sofas .hd-migas a { color:#999; box-shadow:none !important; }
.hd-tabs { display:flex; justify-content:center; gap:8px; margin:22px 0 4px; flex-wrap:wrap; }
.hd-tabs a { padding:8px 18px; border-radius:22px; border:1px solid var(--l); font-size:14px; color:var(--o); box-shadow:none !important; text-decoration:none !important; }
.hd-tabs a.act { background:var(--o); color:#fff; border-color:var(--o); }
.hd-opc { background:var(--g); margin:30px 0 0; padding:32px 0; }
.hd-opc h2 { text-align:center; font-size:22px; font-weight:600; color:var(--o); margin:0 0 18px; padding:0; letter-spacing:normal; text-transform:none; }
.hd-opc .hd-iconos { gap:22px; }
.hd-opc .hd-iconos div { width:118px; }
.hd-opc .hd-iconos svg { background:#fff; }
.hd-guia { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.hd-gcard { border:1px solid var(--l); border-radius:8px; padding:16px; }
.hd-gcard h3 { font-size:15px; font-weight:600; color:var(--o); margin:0 0 10px; padding:0; letter-spacing:normal; text-transform:none; }
.hd-mini { display:flex; align-items:center; gap:10px; margin-top:8px; font-size:14px; color:inherit; box-shadow:none !important; text-decoration:none !important; }
.hd-mini img { width:58px; height:46px; object-fit:cover; border-radius:4px; }
.hd-prod small { display:block; line-height:1.4; margin-top:2px; color:#777; }
.hd-sofas .hd-centro { margin-top:34px; }
@media (max-width: 800px) {
	.hd-tabs { flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; padding:0 2px 4px; }
	.hd-tabs a { white-space:nowrap; }
	.hd-opc .hd-iconos { gap:12px; }
	.hd-opc .hd-iconos div { width:88px; }
	.hd-guia { grid-template-columns:1fr 1fr; }
}

/* secciones con pocos modelos: centrados */
.hd-sofas .hd-grid4.hd-pocos { grid-template-columns:repeat(auto-fit, minmax(0, 290px)); justify-content:center; }
@media (max-width: 800px) { /* 12-oct-2026: de 2 en 2 con la última centrada */ .hd-sofas .hd-grid4.hd-pocos { display:flex; flex-wrap:wrap; justify-content:center; } .hd-sofas .hd-grid4.hd-pocos > * { flex:0 0 calc((100% - 14px) / 2); min-width:0; } }

/* cabecera con foto cuadrada: en ordenador se ve entera, con la misma foto difuminada de fondo */
@media (min-width: 801px) {
	.hd-banda-entera { position:relative; }
	.hd-banda-entera::before { content:""; position:absolute; inset:-30px; background:var(--hd-fondo) center / cover no-repeat; filter:blur(22px) brightness(1.04); }
	.hd-banda-entera img { position:relative; object-fit:contain !important; }
}

/* 13-oct-2026: tarjetas en filas de --hd-por-fila con la última fila centrada; en el móvil de 2 en 2 (cocinas, juveniles, baños, descanso; salón y dormitorios llevan la misma regla en su plantilla) */
.hd-grid4.hd-filas { display:flex; flex-wrap:wrap; justify-content:center; }
.hd-grid4.hd-filas > * { flex:0 0 calc((100% - (var(--hd-por-fila) - 1) * 24px) / var(--hd-por-fila)); min-width:0; }
.hd-grid4.hd-filas.hd-dos { max-width:760px; margin-left:auto; margin-right:auto; }
@media (max-width: 800px) { .hd-grid4.hd-filas > * { flex-basis:calc((100% - 14px) / 2); } }
